众所周知,JAVA中存在八大基本数据类型以及引用类型,其中引用类型其实就是基本类型的封装和类实例化生成的对象,统称为引用类型。
而引用类型会因GC回收机制,被细分为四种类型。
强引用
顾名思义,GC回收机制面对强引用类型时,即使报错也不会对强引用类型进行回收。
软引用
在内存充足时GC回收机制不会回收软引用;
当内存紧张时,GC回收机制优先回收老年区的软引用,尽可能保留新生区的软引用。
弱引用
只能生存到下一次GC回收之前。
虚引用
顾名思义,等同于非引用类型,随时可能会被回收。