美文网首页Java学习笔记
Java对象的引用方式

Java对象的引用方式

作者: chordwang | 来源:发表于2017-02-04 21:49 被阅读41次

系统对对象的引用方式

1. 强引用(StrongReference)

这是java最常见的引用方式。

程序创建一个对象,并把这个对象赋给一个引用变量,程序通过该引用变量来操作实际的对象。

String str = new String("Hello World");//强引用

2. 软引用(SoftReference)

当一个对象只有软引用时,它有可能被垃圾回收机制回收(系统内存足够时,不会被回收;系统内存不足时,可能会被回收)

String str = new String("Hello World");//强引用
SoftReference softR = new SoftReference(str);//软引用

3. 弱引用(WeakReference)

对于只有弱引用的一个对象,当垃圾回收机制运行时,不管系统内存是否足够,总会回收该对象所占用的内存

String str = new String("Hello World");//强引用
WeakReference weakR = new WeakReference(str);//弱引用

4. 虚引用(PhantomReference)

虚引用完全类似没有引用。虚引用对对象本身没有太大影响,对象甚至感觉不到虚引用的存在。

虚引用主要用于跟踪对象被垃圾回收的状态,虚引用不能单独使用,它必须和引用队列(ReferenceQueue)联合使用。

ReferenceQueue

用于保存被回收后对象的引用。

当联合使用软引用,弱引用和引用队列时,系统在回收被引用的对象之后,将把被回收对象的引用添加到关联的引用队列中。

与软引用,弱引用不同的是,虚引用在对象被回收之前,将把它对应的虚引用添加到它关联的引用队列中,这使得可以在对象被回收之前采取行动。

相关文章

  • Java四种引用方式

    Java引用方式包括: 强引用、软引用、虚引用、弱引用 java的对象位于heap中,heap中的对象有强可及对象...

  • 【JAVA基础】函数知识

    1.函数参数传递方式 虽然java通过引用操作对象,所有的对象变量都是引用,然而,java不能通过引用传递方法参数...

  • Java对象的引用方式

    系统对对象的引用方式 1. 强引用(StrongReference) 这是java最常见的引用方式。 程序创建一个...

  • Collection和Collections的使用

    Thinking in Java 中关于Collection的介绍 Java有多重方式保存对象(应该是对象的引用)...

  • ThreadLocal内存泄漏问题

    java对象的四种引用方式 对象的引用方式分:强、软、弱、虚四种 强引用 普通的写法即强引用 当GC回收时,拥有强...

  • Java变量(对象)引用方式

    一、强引用 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,J...

  • 面试准备2-介绍一下集合框架

    简介:集合是Java中保存大量对象的引用的一种方式,同样可以用来保存大量对象的引用的还有数组。本身Java可以通过...

  • JVM引用

    Java 执行GC判断对象是否存活有两种方式其中一种是引用计数 引用计数概念:JAVA Heap(堆)中每个对象有...

  • Java 强/软/弱/虚引用

    前言 Java执行GC判断对象是否存活有两种方式其中一种是引用计数。 引用计数:Java堆中每一个对象都有一个引用...

  • Java四种引用-Android面试准备2019-1-22

    四种引用 1.强引用(StrongReference) 这是Java程序中最常见的引用方式。程序创建一个对象,并把...

网友评论

    本文标题:Java对象的引用方式

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