源码解剖
weixin_42218558
这个作者很懒,什么都没留下…
展开
-
java源码解剖-java中整型的缓存机制
源码解剖之java中整型的缓存机制java中整型的缓存机制 java中整型的缓存机制 为提高性能和节省内存,从jdk1.5引入了缓存机制。 对于java中的整型封装类型的数据定义及初始化,如 Integer a=1; 该代码段的其实等同于 Integer a = Integer.valueOf(1); 这个过程叫做自动装箱。 再看下此处的valueOf的实现: public static In...原创 2018-11-04 22:54:44 · 143 阅读 · 0 评论 -
java源码解剖-字符串常量在内存中的保存方式
String类型的字符串是用char数组保存字符串的值的, 即如图的String的源码定义,它是存在char字符数组中的,所以其equals方法的是比较char数组的每一位是否相同。并且它是final类型的,不可改变。 1、显示声明的字符串是存在常量池的。 因为显示地定义字符串如"abc",它是存在常量池里的,所以如下图 对于a和a1均指向常量池中的“abc”。如下图所示: ...原创 2018-11-22 22:00:54 · 448 阅读 · 1 评论 -
HashMap的源码
hashMap的数据结构:数组+链表,对于jdk1.8之后加上了红黑树。 hashmap集成了数组的查询速度快和链表的插入速度快的优点来设计的。 hashmap的数组的初始容量16,当增加元素的时候,会先计算该元素key的hashcode%数组容量,将得到的数作为要存储的数组下标,当已经存储的容量大于数组容量*0.75则将其数组容量扩至2倍。 1、主要的一些初始化参数 hashmap初始化时会有两...原创 2018-12-17 22:36:07 · 82 阅读 · 0 评论