公子姓王

导航

2019年5月28日 #

Java容器解析系列(16) android内存优化之SparseArray

摘要: HashMap的缺点: 1. 自动装箱导致的性能损失; 2. 使用拉链法来解决hash冲突,如果hash冲突较多,需要遍历链表,导致性能下降,在Java 8 中,如果链表长度 8,会使用红黑树来代替链表; 3. 由于loadFactor的存在,导致(1 loadFactor) capacity 的空 阅读全文

posted @ 2019-05-28 15:55 公子姓王 阅读(230) 评论(0) 推荐(0) 编辑

Java容器解析系列(15) HashTable Dictionary & Properties

摘要: HashTable的实现原理与HashMap没有什么区别; 其与HashMap的主要区别如下: 1. 添加进入jdk时间:HashTable在jdk1.0时添加,HashMap在jdk1.2时添加; 2. 类签名:两者都实现了Map接口,但是HashMap继承自AbstractMap,HashTab 阅读全文

posted @ 2019-05-28 15:13 公子姓王 阅读(249) 评论(0) 推荐(0) 编辑

Java容器解析系列(14) IdentityHashMap详解

摘要: `IdentityHashMap HashMap`相同,主要不同点在于: 1. 数据结构:使用一个数组 来存储 ,` table[2k] key table[2k + 1] value`,也即: ]( 使用数组 + 链表); 2. 中的 和 通过 来比较是否相等( 通过 ); 3. 中的 hash冲 阅读全文

posted @ 2019-05-28 14:56 公子姓王 阅读(1160) 评论(0) 推荐(0) 编辑

Java容器解析系列(13) WeakHashMap详解

摘要: 关于 其实没有太多可说的,其与 大致相同,区别就在于: 1. 对每个 的引用方式为弱引用; 关于 4种引用方式,参考 "java Reference" 网上很多说 弱引用指向 Entry,这种说法是完全错误的 2. 在 被回收时,对应的value并没有回收,只有在调用 的方法时才会回收 ; 具体请看 阅读全文

posted @ 2019-05-28 10:20 公子姓王 阅读(189) 评论(0) 推荐(0) 编辑