1.ArrayList,Vector,LinkedList的存储性能和特性是什么?
答:1.他们都是在lang包中,都是可以动态改变长度的数组
2.ArrayList和Vector索引数据快,插入数据慢;他们都有一个初始化的容量,当超过他们容量时Vector默认扩充为原来的两倍,ArratList默认扩充 1.5倍;因为ArrayList是方法同步,所以是不安全的,而Vector是线程安全的;
LinkedList是采用双向列表实现,是从列表头开始索引,插入效率高,随机访问效率低,线程不安全。
应用场景:对数据主要操作为索引或在集合末端增加,删除元素时,使用AL或Vector;对数据指定位置插入删除使用LinkedList;多线程使用容器时用Vector
2.垃圾回收器
答:1.三项任务:分配内存,确保被引用对象的内存不被错误回收笔记回收不在被引用的对象的内存空间。
2.垃圾回收器(Garbage Collection,GC)使有向图记录和管理堆内存中的所有对象,识别可达和不可达对象,所有不可达对象都是可被回收。
3.开发人员不能实时调用进行垃圾回收,但是可以调用System.gc()通知垃圾回收器的运行,也不能保证马上运行!不推荐频繁使用gc()!