美文网首页
Java中的对象引用类型

Java中的对象引用类型

作者: T_log | 来源:发表于2018-07-19 16:08 被阅读1次
  1. java中的引用类型(reference)中存储的数值代表另外一块内存的起始地址,称这块内存代表着一个引用
  2. 在JDK1.2之后,Java对引用的概念进行了扩展,将引用分为 强引用(Strong Referencere)、软引用(soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference),强度依次减弱

引用的具体分析

  1. 强引用(Strong Reference):在Java程序中是普遍存在的,我们经常在创建对象的时候使用的Object a = new Object();就属于强引用。只要引用还在(GC Roots引用链可达),垃圾收集器永远不会回收被引用的对象,所以不会回收强引用对象来解决内存不足的问题
  2. 软引用(Soft Reference):用来描述一些还有用但是并非必须的对象。对于软引用关联的对象,在系统将要发生内存溢出之前,会把这些对象列入回收范围之中进行第二次回收,如果这次回收还没有足够的内存,那么将会抛出内存溢出异常。软引用可用来实现内存敏感的高速缓存
  3. 弱引用(Weak Reference):用来描述非必须的对象,但是她的强度比软引用还要弱,被弱引用关联的对象,只能生存到下一次垃圾收集之前。当垃圾收集器工作时,无论当前内存是否足够,都会回收掉纸杯弱引用关联的对象
  4. 虚引用(Phantom Reference):也成为幽灵引用,或者幻影引用,是最弱的一种引用关系,一个对象是否有虚引用的存在,完全不会对其生存时间构成引用,也无法通过一个徐引用来获取一个对象实例。此引用的唯一目的就是能在这个对象被回收时,收到一个系统通知。

参考
周志明《深入理解Java虚拟机》
https://www.cnblogs.com/baizhanshi/p/6272584.html

写在最后
做一个灵魂和肉体分离的人,灵魂不受肉体的束缚,灵魂可以指挥肉体

相关文章

  • Java核心知识点(二)

    Java面向对象基本概念——引用 Java语言中除基本类型之外的变量类型都称之为引用类型 Java中的对象是通过引...

  • Android NDK 9 JNI 数据类型和方法调用

    一、基本类型 二、引用类型性 JNI 中的引用类型主要包括: 类; 对象; 数组。 和 Java 中的引用类型的对...

  • Java自学-接口与继承 对象转型

    Java中的对象转型 示例 1 : 明确引用类型与对象类型的概念 首先,明确引用类型与对象类型的概念在这个例子里,...

  • Java基础知识总结(上)

    Java中的数据类型 Java的数据类型分为两大类:基本类型和引用类型 引用类型:引用类型指向一个对象,不是原始值...

  • 引用类型数组

    数组是对象 在Java中,数组属于引用类型数据数组数据在堆中存储,数组变量属于引用类型,存储数组对象的地址信息,指...

  • Java中的对象引用类型

    java中的引用类型(reference)中存储的数值代表另外一块内存的起始地址,称这块内存代表着一个引用在JDK...

  • Java 的小白学习笔记三(数据类型和变量类型)

    Java两大数据类型 一、内置数据类型 二、引用类型 引用类型指向一个对象,指向对象的变量是引用变量。引用变量声明...

  • Java四种引用类型与ThreadLocal内存泄露

    java中引用类型 强引用 NormalReference(一个普通变量指向一个对象,引用消失以后,对象就会被GC...

  • Java基础-引用类型

    1.在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变...

  • Java 浅拷贝和深拷贝

    java中传递为值传递,对于引用类型,改变值后,原对象及引用对象值将都改变,最近刚好看java中浅拷贝和深拷贝问题...

网友评论

      本文标题:Java中的对象引用类型

      本文链接:https://www.haomeiwen.com/subject/qjozpftx.html