java引用的类型,java 中都有哪些引用类型

  java引用的类型,java 中都有哪些引用类型

  如何解决写爬虫IP受阻的问题?立即使用。

  推荐课程:Java教程

  Java提供了两种不同的类型:引用类型和原始类型(或内置类型)。

  引用类型和原始类型的行为是完全不同的,它们具有不同的语义。

  引用类型和基元类型有不同的特征和用法,包括:大小和速度,这个类型存储在什么类型的数据结构中,什么时候引用类型和基元类型

  用作类的实例数据时指定的默认值。

  对象引用实例变量的默认值为null,而原始类型实例变量的默认值与其类型相关。同时,为了面向对象操作的一致性。

  这些基本类型有相应的封装类型:整型、短整型、长型、字节型、浮点型、双精度型、字符型等。

  Java的4种引用类型:

  它们是强引用、软引用、弱引用和虚引用。他们是

  GC恢复的可能性从大到小排序。

  强引用(StrongReference)

  只要强引用存在,垃圾收集器就永远不会回收被引用的对象。即使内存不足,JVM也会直接抛出OutOfMemoryError,不会回收。诸如

  如果要断开强引用和对象之间的连接,可以将强引用赋值为null,这样JVM就可以及时回收对象。

  软引用(SoftReference)

  软引用用于描述一些不必要但仍然有用的对象。当有足够的内存时,软引用对象将不会被回收。只有当内存不足时,系统才会回收软引用对。

  例如,如果在收集软引用对象后仍然没有足够的内存,将会引发内存溢出异常。此功能通常用于实现缓存技术,如网页缓存和图片。

  缓存等。

  在JDK1.2之后,使用java.lang.ref.SoftReference类来表示软引用。

  弱引用(WeakReference)

  弱引用的引用强度比软引用弱。不管有没有足够的内存,只要JVM启动垃圾收集,那些与弱引用相关联的对象就会被收集。

  在JDK1.2之后,java.lang.ref.WeakReference用于表示弱引用。

  PhantomReference(虚引用)

  虚拟引用是最弱的一种引用关系。如果一个对象只持有虚拟引用,就跟没有引用一样,随时可能被回收。JDK1.2以后,用PhantomReference类表示。通过查看这个类的源代码,发现它只有一个构造函数和一个get()方法,它的get()方法只返回一个null,这意味着它永远无法通过虚引用获取对象。这就是java中引用类型的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: