一、ArrayList(a)与LikedList(L)的区别 1、a的内部实现基于数组,而L则基于循环双向链表实现 2、a的初始容量为10,当数据达到上限会进行自动扩容,机制为(旧容量*3)/2-1,因此每次扩容会造成一定的容量溢出,可以用trimToSize()方法取出多出的容量,但相比于L性能上 ...
分类:
其他好文 时间:
2017-09-12 12:19:31
阅读次数:
216
os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) code: result: Java优秀,值得学习。学习资源:API手册+Java源码+清净的心地。 ...
分类:
编程语言 时间:
2017-09-03 14:52:27
阅读次数:
566
目录 1.位置 2.变量和常量 3.构造函数 4.trimToSize()方法 目录 1.位置 2.变量和常量 3.构造函数 4.trimToSize()方法 正文 源码解析系列主要对Java的源码进行详细的说明,由于水平有限,难免出现错误或描述不准确的地方,还请大家指出。 回到顶部 1.位置 Ar ...
分类:
其他好文 时间:
2017-05-26 23:21:25
阅读次数:
346
首先声明jdk-version:7u40
好了,先新建一个StringBuffer.
StringBuffer aa = new StringBuffer("12345");下面是jdk源码:
public StringBuffer(String str) {
super(str.length() + 16);
append(str);
}
super()...
分类:
其他好文 时间:
2015-08-08 13:38:20
阅读次数:
164
查看Queue的源码发现其实队列里面维护的是一个数组,而且这个数组是一直增加的,队列push一个就放到数组的最后,pop的时候就把数组最前面取出然后置为Null,这样必然导致在大量的pop和push操作后会在数组前面产生大量的值为Null的数组元素。这个时候就可以用到 TrimToSize 方法进行...
分类:
其他好文 时间:
2015-06-10 11:54:38
阅读次数:
118
如何动态的查看ArrayList的容量?在ArrayList提供的方法中,有三个方法:size() -- 返回当前列表中的元素数量;trimToSize() -- 将当前ArrayList容量调整为列表的当前大小;ensureCapacity(int minCapacity) -- 如果需要扩展列表...
分类:
编程语言 时间:
2015-05-29 11:30:01
阅读次数:
127
Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放。
LruCache使用一个LinkedHashMap简单的实现内存的缓存,没有软引用,都是强引用。如果添加的数据大于设置的最大值,就删除最先缓存的数据来调整内存。他的主要原理在trimToSize方法中。需要了解两个主要的变量size和...
分类:
其他好文 时间:
2014-08-31 00:30:30
阅读次数:
237