首页 > 编程语言 >java如何判断一个对象是否死去

java如何判断一个对象是否死去

时间:2022-08-16 17:01:27浏览次数:52  
标签:java 死去 对象 计数器 GC 引用 一个 方法

简单直观的一个方法是:对一个对象添加引用计数器。每当有地方引用它时,计数器的值加 1;当引用失效时,计数器de的值减 1.而当计数器的值为 0 时这个对象就不会再被使用,判断为已死。但这种方法有些情况会不准确:比如当对象 A 中有一个字段指向了对象 B,而对象 B 中 也有一个字段指向了对象 A,而事实上他们俩都不再使用,但计数器的值永远都不可能为 0,也就不会被回收,然后就发生了内存泄露。   正确的方法是:可达性分析. 所有生成的对象都是一个为"GCRoots"的根的子树。从 GC Roots 开始向下搜索,搜索所经过的路径称为引用链,当一个对象到 GC Roots 没有任何引用链可以到达时,就称这个对象是不可达的或者是不可引用的,也就是已经死去的对象,可以被 GC 回收了。那哪些可以作为gc root呢,有栈中的本地变量,方法区中的静态变量,本地方法栈中的变量,正在运行中的线程,它们有一个特性,就是它只会引用其他对象,而不会被其他对象引用。   本文转自:https://blog.csdn.net/qq_59614812/article/details/122901619

标签:java,死去,对象,计数器,GC,引用,一个,方法
From: https://www.cnblogs.com/nizuimeiabc1/p/16592132.html

相关文章

  • EL_获取域中存储的值和获取域中存储对象值
    EL_获取域中存储的值el表达式只能从域对象中获取值语法${域名称.键名}:从指定域中获取指定键的值域名称:pageScope-->pageContextrequestScope-->requestses......
  • JavaDoc
    JavaDocJavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就......
  • JS-Symbol(javascript的第七种数据类型)
    introduce在ES5中对象的属性名都是字符串,这容易造成属性名的冲突。引入Symbol类型来解决命名冲突的问题。Symbol的值通过Symbol函数来生成,也就是说,对象的属性名......
  • java中获取指定日期是周几
    可以使用Calendar日历工具类获取,代码如下:Calendarcalendar=Calendar.getInstance();calendar.setTime(newDate());intindex=calendar.get(Calendar.DAY_OF_WEEK)-......
  • JavaSE:第十三章:一分钟了解反射
    首先分享一篇关于反射的博文,因为我发现这篇博文写的很详细,然后开始我的表演:首先学习反射之前,我要提出疑问:反射是个什么东西?它是用来做什么的?平时的应用场景有哪些?为啥......
  • 【JAVA】URL编码对照表
    转载:https://blog.csdn.net/Danalee_Py/article/details/108083038?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlog......
  • javascript实现前端sleep
    一、定义//第一种,使用while循环functionsleep(delay){varstart=(newDate()).getTime();while((newDate()).getTime()-start<delay){con......
  • 高效能团队的Java研发规范(进阶版)
    目前大部分团队是使用的阿里巴巴Java开发规范,不过在日常开发中难免遇到覆盖不到的场景,本文在阿里巴巴Java开发规范基础上,补充一些常用的规范,用于提升代码质量及增强代码可......
  • 用好JAVA中的函数式接口,轻松从通用代码框架中剥离掉业务定制逻辑
    大家好,又见面了。今天我们一起聊一聊JAVA中的函数式接口。那我们首先要知道啥是函数式接口、它和JAVA中普通的接口有啥区别?其实函数式接口也是一个Interface类,是一种比较......
  • SPI:Java的高可扩展利器
    摘要:JAVASPI,基于接口的编程+策略模式+配置文件的动态加载机制。本文分享自华为云社区《一文讲透Java核心技术之高可扩展利器SPI》,作者:冰河。SPI的概念JAVASPI=基于......