- 博客(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关注的人