自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(263)
  • 资源 (4)
  • 收藏
  • 关注

原创 某商城框架分析

开篇        最近做了一个商城系统,从系统的需求,到系统的选型以及框架和各种技术的研究和使用,我都参与其中,所以,分享一下这个系统.框架        框架如下:说明:        表现层        用户分为两种,PC端用户和移动端用户; 其中PC端包括 商城首页,商品类目,购物车,订单,商品展示,会员中心等等,  移

2016-05-28 15:42:42 6628 9

原创 Redis预热 雪崩 击穿 穿透

Redis穿透是指恶意请求或者误用的请求,通过绕过缓存层直接查询数据库,由于查询的数据在缓存中不存在,导致每次请求都直接击中数据库,对系统造成严重的性能压力。需要注意的是,根据数据量的大小和硬件性能的限制,预热可能需要一定的时间,并且会增加系统的负载。Redis击穿是指在缓存中查询一个不存在的键,导致请求直接落到数据库上,这个时候由于数据库相对较慢,无法有效处理大量并发请求,最终导致系统的性能下降。通过以上措施的综合应用,可以有效预防和缓解Redis穿透问题,保护数据库和系统的安全性和性能。

2023-08-02 11:00:00 302

原创 Redis7部分新特性

redis7 大体和之前的redis版本保持一致和稳定, 主要是自身底层性能和资源利用率上的优化和提高。

2023-08-01 14:35:52 459 1

原创 Redis事务

1.单独的隔离操作:redis的事务仅仅是保证事务里的操作会被连续独占的执行,redis命令执行是单线程架构,在执行完事务内所有指令前是不可能再去同时执行其他客户端的请求的。3.不保证原子性:Redis的事务不保证原子性,也就是不保证所有指令同时成功或者同时失败,只有决定是否开始执行全部指令的能力,没有执行一半进行回滚的能力。可以一次执行多个命令,本质上是一组命令的集合,一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞。一个队列中一次性,顺序性,排他性的执行一系列命令。

2023-08-01 14:33:38 282 1

原创 redis基础总结(数据类型)

String 是redis最基本数据类型,一个key对应一个value. String类型是二进制安全的,意思是Redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象;String类型是最基本的数据类型,一个redis中字符串value最多是512M;String类型在redis底层数据结构是SDS(简单动态字符串);

2023-07-31 11:00:00 281

原创 简述IO(BIO NIO IO多路复用)

BIO模型的优点是简单易用,对于一些IO操作不频繁的应用来说,可以满足需求。然而,由于阻塞特性,BIO模型在高并发环境下可能存在性能瓶颈。当有多个IO操作需要处理时,每个操作都需要等待上一个操作完成,效率相对较低。如果改用多线程模型,那么在并发搞得情况下,十分耗费资源.NIO是一种非阻塞IO模型,它使用事件驱动的方式处理IO操作,通过通道、缓冲区和选择器等组件提供高性能的IO操作能力。在Java中,NIO对应的类库为java.nio包。

2023-07-29 16:00:00 156

原创 BloomFilter

优点:搞笑的查询和插入,内存占用bit空间少缺点: 不能删除元素,删除会增加误判率;存在误判 不能精准过了。

2023-07-28 15:33:55 98

原创 postman 历史版本下载

https://dl.pstmn.io/download/version/v8.12.6/osx_64

2023-04-14 13:51:07 1710 1

转载 不要再问我快速排序了

归并排序是一种基于分治思想的排序,处理的时候可以采取递归的方式来处理子问题。我弄个例子吧,好理解点。例如对于这个数组arr[] = { 4,1,3,2,7,5,8,0}。之后再用一个临时数组,把这两个有序的子数组汇总成一个有序的大数组这时,源数组就排序完毕了左半部分和右半部分的排序相当于一个原问题的一个子问题的,也是采取同样的方式,把左半部分分成两部分,然后....直到...

2018-11-21 16:38:21 400

原创 HTTP 499 状态码 nginx下 499错误

日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499、发送字节数是0。    老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(

2018-01-31 17:01:24 7580 3

原创 java 异常java.lang.UnsupportedOperationException ---EmptyList此集合竟然没有相应的add,remove等方法

在项目中采用一个枚举的集合,本人采用Collections中的空集合Collections.emptyList()在添加时发生异常:常见集合如下:private List vacationcategorys = Collections.emptyList();  报错误如下:-- Encapsulated exception ------------

2017-12-03 14:28:20 1851 2

原创 mysql数据库误区整理

简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database ManagementSystem,关系数据库管理系统) 应用软件。特性和常见问题(重点)3.1、特性:3.1.1  utf8_bi

2017-10-30 08:35:32 574 5

原创 浅析 Netty心跳机制

What 顾名思义, 所谓 心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性.Why因为网络的不可靠性, 有可能在 TCP 保持长连接的过程中, 由于某些突发情况, 例如网线被拔出, 突然掉电等, 会造成服务器和客户端的连接中断. 在这些突发情况下, 如果恰好服务器和客户端之间没有交互的话, 那

2017-08-30 09:05:03 3605 7

原创 Spring管理事务默认回滚的异常是什么?

问题:Spring管理事务默认(即没有rollBackFor的情况下)可以回滚的异常是什么?回答:RuntimeException或者Error。抛出运行时异常,是否回滚?Yes@Transactionalpublic boolean rollbackOn(Throwable ex) { return new RuntimeException()

2017-08-26 10:07:58 3168 3

原创 java8 快速实现List转map 、分组、过滤等操作

利用java8新特性,可以用简洁高效的代码来实现一些数据处理。定义1个Apple对象:public class Apple { private Integer id; private String name; private BigDecimal money; private Integer num; public Apple(Integer

2017-08-26 09:55:54 443107 26

原创 netty源码解析

背景netty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simpli

2017-07-30 18:20:55 1397 3

原创 netty

1、etty是什么?1)本质:JBoss做的一个Jar包2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序3)优点:提供异步的、事件驱动的网络应用程序框架和工具通俗的说:一个好使的处理Socket的东东与Mina相比有什么优势?1、都是Trustin Lee的作品,Netty更晚;2、Mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候

2017-07-23 18:09:23 534 2

原创 MINA基础

Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的TCP/UDP 应用程序开发、串口通讯程序。 Mina 的应用层:  一个设计成熟的开

2017-06-27 09:29:18 594 2

原创 Mybatis if test中字符串比较(内双外单)

Mybatis if test中字符串比较这样会有问题,换成我是这样解决的参考:https://code.google.com/p/mybatis/issues/detail?id=262

2017-06-17 12:44:54 1010 3

原创 Java NIO和IO

主要区别下表总结了Java NIO和IO之间的主要差别javaIO : 面向流,阻塞IO    是面向流的,意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区。Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,

2017-06-17 12:43:03 802 1

原创 MAC版修改MySQL初始密码的方法

问题描述:    买了mac电脑,第一次装mysql,不知道初始密码,如何修改初始密码记录下。解决方式:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html亲测方法3,已成功重置密码。(感谢@非常,告诉我官网就有重置方法,网上搜了一堆堆...另外,step1和2来源于htt

2017-06-01 09:55:54 1255 1

原创 mysql处理高并发-保证数据准确性

问题描述: 压力高并发情况下  执行update方法 得到结果非预期结果 例如: 多个线程执行 充值金额方法         1、先查询出目前金额信息a         2、将充值的金额组装a(原金额+充值金额=新金额)         3、更新金额(执行update方法)问题: 多并发的情况下, 会是多个线程同时读取到目前金额a ,  之后 多个线

2017-05-26 18:53:36 15230 1

原创 不恰当的update语句使用主键和索引导致mysql死锁

背景知识:MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。MySQL这3种锁的特性可大致归纳如

2017-05-11 13:41:42 2497

原创 如何把properties中的所有unicode编码转为汉字

在命令行界面用native2ascii工具 1.将汉字转为Unicode: C:\Program   Files\Java\jdk1.5.0_04\bin>native2ascii  测试 \u6d4b\u8bd5 2.将Unicode转换为汉字: C:\Program   Files\Java\jdk1.5.0_04\bin>native2ascii   -reverse \u

2017-05-04 10:51:11 5674 1

原创 Java关于Properties用法——替换配置文件中的参数

一、使用类MessageFormat替换配置文件中的参数MessageFormat 提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置。注:MessageFormat 不同于其他 Format 类,因为 MessageFormat 对象是

2017-05-04 10:26:18 10148 2

原创 单车道双行道超车灯设想

单车道双行道 简单的说就是同方向只有一条机动车道的道路,是指一个方向的行车道只有一条车道,但是道路是双向通车的,多见于城市道路、国省县级公路;    这种道路在乡村,城镇 ,三线偏远城市比较常见,随着这些年城乡发展,人们生活水平也越来越高,所以,在路上的各种车也越来越多,当然,也有很多中型或重型卡车。这个预想,就来自与卡车引起的交通事故。    今年回家的时候,就听说了几起完全可以避免的交

2017-03-22 18:08:02 1477 9

原创 Badboy+Jmeter性能测试

一、介绍    (1) Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它

2016-12-09 15:20:08 963

原创 解开gRPC神秘面纱(一)

gRPC是什么?      gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 gRPC 1.0版本是2015年面世以后的第一次版本发布,开发者

2016-10-28 11:31:12 4395 6

原创 使用JSR-303 Validation进行验证

JSR-303是一个数据验证的规范,这里我不会讲这个规范是怎么回事,只会讲一下JSR-303在SpringMVC中的应用。JSR-303只是一个规范,而Spring也没有对这一规范进行实现,那么当我们在SpringMVC中需要使用到JSR-303的时候就需要我们提供一个对JSR-303规范的实现,Hibernate Validator是实现了这一规范的,这里我将以它作为JSR-303的实现来讲解S

2016-09-29 09:09:13 3774 6

原创 spring mvc validation

http://haohaoxuexi.iteye.com/blog/1812584

2016-09-26 18:29:11 429 3

原创 秒杀的性能问题和超卖

一、秒杀带来了什么? 秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。 抢订单环节一般会带来2个问题: 1、高并发 比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前到后都是一种考验。 2、超卖 任何商品都会有数量上限,如何避免成功下订单买到商品的人数不超过

2016-08-31 19:51:40 1279 2

原创 redis

Redis 集群教程该文档是一篇关于redis集群的教程。该教程并不会让你去理解复杂分布式系统概念,只会告诉你如何安装、测试和操作一个集群。在这个过程中该文档只会从用户角度去描述系统的行为,并不会详细的探究Redis集群手册中的内容。该教程会努力的从最终用户的视角出发, 来介绍Redis集群的可用性和一致性这些特性。不过请放心,我们会用浅显易懂的方式来介绍这一切。注意:该教

2016-08-29 10:33:14 1466 3

原创 Redis的五种对象类型及其底层实现

Redis对象类型简介Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码:[plain] view plain copy print?redis>SET message "hello redis"  其中的key是message,是一个包含了字符串"mes

2016-08-29 10:32:37 1802

原创 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2016-08-29 10:31:25 967 1

原创 Socket实现远程调用实例

首先,创建一个javaproject,然后创建一个包。在包中创建方法类person以及主程序TestSocketServer。目录如下图所示:person类中写入方法 sayHello(), 代码如下:package com.rl.socket;public class person { public String sayHello(){ retur

2016-07-30 19:27:59 4698 4

原创 Jsp7个动作指令

JSP常见的7个动作指令1、jsp:forward指令执行页面转向,将请求处理转发到下一个页面2、jsp:param指令用于传递参数3、jsp:include指令用于动态引入一个JSP页面4、jsp:plugin指令用于下载JavaBean或Applet到客户端执行5、jsp:useBean指令创建一个JavaBean实例6、jsp:setPro

2016-07-30 15:36:57 984 1

原创 初识Socket——Socket总结(一)

http://www.cnblogs.com/dolphinX/p/3460545.htmlhttp://baike.baidu.com/link?url=p2w6NxYOKwRPZS-2cvFp-lq1h8AqkGfZ8iWEfdoCbPisya7591FvnUFO9P6VsG712ir-OoXth4NGeCCQXpGeVzdPswibltG3lsTBfqpnLeG

2016-07-15 10:46:34 1070 1

原创 springmvc注解开发——Springmvc总结(二)

1、注解开发:○ 使用注解方式的处理器映射器和适配器配置:○ 在实际开发中,使用代替了注解方式的处理器映射器和适配器配置(上图的配置)○ @controller:  必须加的注解,作用标识类是一个handler处理器○ @requestMapping必须加的注解作用□ 对url和handler的方法进行映射□ 可以窄化请求映射,是指handler

2016-07-13 10:31:07 1631 1

原创 Redis服务器管理

一、概述:    Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效。即便是将当前的持久化模式从AOF切换到RDB也无需重启。    在Redis中,提供了一组和服务器管理相关的命令,其中就包含和参数设置有关的CONFIG SET/GET command。二、相关命令列表:命令原型时

2016-06-19 16:24:10 768 2

原创 Nginx高可用使用Keepalived+nginx实现

什么是负载均衡高可用         nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。         为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这样的信息来监控对

2016-06-19 16:05:32 791 3

java面试宝典2016

题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。 答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得) 答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。 要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来!

2016-04-25

Entity Framework PPT

PPT中包含对EF的介绍和使用,是可以为讲解EF提供很大帮助!

2015-03-09

vb思维导图

全面总结vb学习,做成复习用的思维导图,可以了解vb中就大多数概念,共初学者使用

2013-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除