Java的引用类型

引用的定义

在jdk1.2之前,java引用的定义是:如果reference类型的数据中存储的是另一块内存的起始地址,那就代表这是一个引用。
后来java对引用的概念进行了扩充,引用又分为了强引用、软引用、弱引用、虚引用。

引用的类型

  • 强引用 Strong Reference
    一般的强引用,垃圾回收器是不会回收的。
  • 软引用 Soft Reference
    软引用描述一些还有用但不是必需的对象。软引用关联的对象,在系统内存快溢出时进行回收。
  • 弱引用 Weak Reference
    弱引用描述非必需的对象。弱引用关联的对象,无论内存充足与否,在垃圾收集时都会被回收。
  • 虚引用 Phantom Reference
    虚引用是无法取得一个真实对象的,他的唯一目的是在这个对象被收集器回收时回收到一个系统通知。

推荐阅读更多精彩内容