一、引用分类
强引用:StrongReference 引用指定对象,gc(垃圾回收机制)运行时不回收;
软引用:SoftReferencen 运行时可能回收(jvm内存不够);
弱引用:WeakReference 运行时立即回收;
虚引用:PhantomReference 类似于无引用,主要跟踪对象被回收的对象,不能单独使用,必须与引用队列(ReferenceQueue)联合使用。
目的:避免对象长时间驻留在内存中,解决垃圾回收时机问题。
二、三个Map接口实现类
1、WeakHashMap:键最弱:常量池里面的对象不会回收,但是new出来的对象会被回收
运行结果为:2
2、IdentityHashMap:常量池比较地址去重,注意常量池对象
运行结果为:1
3
3、EnumMap:枚举map,要求键值为枚举
运行结果为:4