自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 对ThreadLocal的一点理解

对ThreadLocal的一点理解一、ThreadLocal简介:ThreadLocal类提供了四个方法:get():返回此线程局部变量的当前线程副本中的值。initialValue():返回此线程局部变量的当前线程的“初始值”。remove():移除此线程局部变量当前线程的值。set(T value):将此线程局部变量的当前线程副本中的值设置为指定值。ThreadLoc...

2018-08-08 19:36:18 1507

原创 服务器集群控制仅有一台服务器执行任务

定时任务(批处理任务)设计不合理的反面教材:        曾经使用Spring Batch批处理框架的Tasklet进行批处理任务,使用Redis锁进行并发控制,在任务开始前使用Redis的setnx命令往Redis中插入值,任务结束后删除值,任务只有在当前Redis中不存在值时才运行启动。设计不合理之处:        存在单点故障问题,一台机器A开始处理任务时,其他机器不处理任务,当服务器A...

2018-04-03 15:45:12 3007

原创 Java集合包学习总结

Java集合包学习总结集合包总体架构: List:ArrayList:基于动态数组实现。数组的容量根据实际需求变化,空构造器的默认长度是10。非线程安全。 LinkedList:基于双向链表实现。Entry是LinkedList中的一个内部类。空构造器默认仅含一个头节点Entry header的空双向链表。顺序访问比较高效,随机访问效率极低。

2018-01-24 10:22:33 275

原创 对Java值传递与引用传递的理解

Java共分为两种数据类型:基本类型,对象类型基本类型:6种数据类型:byte,short,int,long,float,double1种布尔类型:boolean1种字符类型:char对象类型:类类型,接口类型,数组基本类型的变量保存了“原始值”,即变量保存值本身。引用类型变量保存了“引用地址”,"引用地址"指向内存空间的地址,代表了某个对象的引用,而不是对象本身,

2018-01-23 13:17:06 189

原创 Redis集群下使用Jedis实现keys模糊查询

JedisCluster中不支持keys模糊查询在非集群环境下,可以直接创建JedisPool对象,然后调用getResource()方法获取Jedis连接对象,然后就可以调用Jedis API操作redis了,Jedis对象支持keys模糊查询。在集群环境下,有多个JedisPool连接池对象节点,想要完整地实现keys模糊查询,需要遍历所有连接池,对每个连接池对象调用getResour

2018-01-22 17:51:06 17129 2

原创 脏读,不可重复读,幻读

一、脏读事务A在对一条记录a的字段①进行增加100的操作,在事务A处理还未提交时,事务B对这条记录进行查询,事务B查询到了记录a被事务A修改后的数据,这时候事务A回滚,事务B查询到的数据就和实际不一致,引起脏读。引起脏读的原因:一个事务读取了另一个事务未提交的数据,而这个数据有可能回滚二、不可重复读事务A需要多次查询记录a,在事务A还未结束时,事务B也在访问这条记录a,在事

2018-01-02 11:43:15 302

原创 对Java对象序列化serialVersionUID的理解

serialVersionUID按字面上意思来理解是序列化版本号,用以下例子可以得出serialVersionUID的实际作用Person类:public class Person implements Serializable{ private String name; private int age; public Person(String name, int age)

2017-12-29 16:54:40 2351

原创 高效筛选两个List中的不同的元素

问题记录:开发过程中,需要把两个List中不同的元素筛选出来,这两个List的数据量都很大,如果按照一般的方法,分别去遍历两个List,然后分别对每一个元素做比较,时间消耗将会达到m*n,处理效率显然不尽人意。解决思路:使用一个Map来对2个List中的元素进行计数:即把List的元素作为Map的Key,Entry的Value为Integer类型,用于记录元素在两个集合中出

2017-11-16 17:25:28 9856

原创 枚举类在switch...case语句中使用的问题

问题记录:在开发过程当中,需要对一个Integer的值进行switch操作,case的值是枚举类型的retCode属性(该属性为Integer类型),编译器报错case expressions must be constant expressions。 //报错代码: Integer i = 0; switch (i) { case TransactType.TRANSACT

2017-11-07 16:51:51 24083 8

转载 在Java路上,我看过的一些书、源码和框架(转)

在Java路上,我看过的一些书、源码和框架(转)原文地址:http://www.jianshu.com/p/4a41ee88bd82物有本末,事有终始,知所先后,则近道矣面试经历关于Java面试,你应该准备这些知识点关于Java面试,你应该准备这些知识点(续)前段时间抽空整理了上面两篇面试经历,收到不少的关注,很多同学私信我平时都是如何get到这些知识的,是

2017-10-27 17:13:24 208

原创 Spring注解整理

Spring 注解学习笔记声明Bean的注解:@Component : 组件,没有明确的角色@Service : 在业务逻辑层(service层)使用@Repository : 在数据访问层(dao层)使用.@Controller : 在展现层(MVC--SpringMVC)使用注入Bean的注解:@Aautowired : Spring提供的注解.

2017-10-20 16:57:49 321

空空如也

空空如也

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

TA关注的人

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