您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java中引用级别的理解及代码示例

小志的博客 发布时间:2021-10-26 21:47:50 ,浏览量:0

目录
    • 一、java中引用级别有哪些
    • 二、强引用
    • 三、软引用(java.lang.ref.SoftReferenct)
    • 四、弱引用(java.lang.ref.WeakReferenct)
    • 五、虚引用(java.lang.ref.PhantomReference)

一、java中引用级别有哪些
  • 在Java中,引用级别一共有四种,分别为:
  • 强引用
  • 软引用
  • 弱引用
  • 虚引用
二、强引用
  • 一般程序中的引用,例如 Student student = new Student();
  • 如果一个对象具有强引用,那就类似于必不可少的物品,不会被垃圾回收器回收。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不回收这种对象。
三、软引用(java.lang.ref.SoftReferenct)
  • 当堆空间不足时,才会被回收。因此,软引用对象不会引起内存溢出。

1、示例代码如下

在这里插入图片描述 在这里插入图片描述 2、运行结果如下:

在这里插入图片描述

四、弱引用(java.lang.ref.WeakReferenct)
  • 当GC的时候,只要发现存在弱引用,无论系统堆空间是否不足,均会将其回收。

1、代码如下: 在这里插入图片描述 在这里插入图片描述

2、运行结果如下:

在这里插入图片描述

五、虚引用(java.lang.ref.PhantomReference)
  • 如果对象持有虚引用,其实与没有引用是一样的。虚引用必须和引用队列在一起使用,它的作用是用于跟踪GC回收过程,所以可以将一些资源释放操作放置在虚引用中执行和记录。

1、代码如下: 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 2、运行结果如下:

在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0416s