Java对象引用
郭旭升 Lv6

什么是引用数据类型

引用数据类型是 在创建的时候,会先在堆内存中分配一块空间,存储对象的具体信息,然后在栈中存储该对象的地址信息。

引用的类型

  • 强引用
    垃圾回收器不会回收被引用对象,哪怕内存不足,JVM会直接抛出OutOfMemoryError,除非赋值为null;
  • 软引用
    描述一些非必需但仍有用的对象。在内存足够时,软引用不会回收,只有在内存不足时,系统回收。
  • 弱引用
    无论内存是否足够,只要JVM进行垃圾回收,那些被弱引用的对象都会被回收。
  • 虚引用
    主要用来跟踪对象被垃圾回收器回收的活动。
    无法通过虚引用来获取对象。虚引用必须和(ReferenceQueue)引用队列一起使用,NIO的堆外内存就是靠其管理。
 Comments