随笔分类 -  源码分析

关于java中ArrayList的快速失败机制的漏洞——使用迭代器循环时删除倒数第二个元素不会报错
摘要:一、问题描述 话不多说,先上代码: 知道快速失败机制的可能都会说,不能在foreach循环里用集合直接删除,应该使用iterator的remove()方法,否则会报错:java.util.ConcurrentModificationException 但是这个代码的真实输出结果却是: 并没有报错,这 阅读全文

posted @ 2018-07-17 18:04 清风吹斜阳 阅读(902) 评论(0) 推荐(1)

java中字面量,常量和变量之间的区别(附:Integer缓存机制)
摘要:一、引子 在各种教科书和博客中这三者经常被引用,今天复习到内存区域,想起常量池中就是存着字面量和符号引用,其实这三者并不是只在java中才有,各个语言中都有类似的定义,所以做一下总结,以示区分。 二、例子 先举一个简单的例子,就很容易看懂接下来的定义了。 三、各定义以及区分 3.1 变量 有些数据在 阅读全文

posted @ 2018-06-25 20:09 清风吹斜阳 阅读(1600) 评论(0) 推荐(1)

关于JDK1.8 HashMap扩容部分源码分析
摘要:今天回顾hashmap源码的时候发现一个很有意思的地方,那就是jdk1.8在hashmap扩容上面的优化。 首先大家可能都知道,1.8比1.7多出了一个红黑树化的操作,当然在扩容的时候也要对红黑树进行重排,然而今天要说的并不是这个,而是针对数组中的链表项的处理优化。 关于hashmap的源码都十分精 阅读全文

posted @ 2018-04-19 23:41 清风吹斜阳 阅读(4148) 评论(1) 推荐(3)

导航