- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 jdk赏析-HashMap(一)
HashMap可以说是日常使用非常频繁的数据结构了,存储k/v结构,可以做对象的映射。提供了所有的相关map的操作,可以允许null值作为key和value,和HashTable的区别就是不同步和允许null。HashMap不保证存储的顺序也不保证操作都是O(1)的,有两个关键性的属性影响操作的性能,初始大小和负载系数。初始大小就是默认的哈希桶的大小,负载系数描述了哈希桶满的程度,决定了什么时间进
2018-01-27 17:19:53 221
原创 jdk欣赏-ArrayList(2)
ArrayList中有两个转换为数组的方法,Object[] toArray()和 T[] toArray(T[] a)。 两个方法的唯一区别就是返回的数据类型不同,最终都是这个方法: public static T[] copyOf(U[] original, int newLength, Class newType) { @SuppressWarnings("unc
2018-01-21 16:55:39 233
原创 jdk欣赏-ArrayList(1)
《深入理解java虚拟机》这本书大概看了一遍,收获很大,博客就暂时告于段落,不过学习还是继续,下一本书读《java并发编程实战》,配合之前学习的内容,应该可以串联上。博客新开一个系列,jdk源码系列,读并发和jvm比较枯燥,jdk源码就当做调味品。从集合类开始,最简单的ArrayList类,我们可以看到ArrayList实现了Serializable接口,并且有一个静态的long型变量serial
2018-01-17 22:33:14 224
原创 java内存模型与线程
java内存模型规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,工作内存保存了被该线程所使用到的变量的主内存副本拷贝,线程所有操作都在工作内存中进行,不能直接读写主内存,包括volatile变量。 java内存模型定义了内存间数据的交互8个操作,这些操作都是原子的: lock:作用于主内存变量,把一个变量标识为一条线程独占 unlock:作用于主内存变量,把一个变量释放锁定状态
2018-01-10 21:30:02 228
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人