JVM中GC Root对象有哪些?

众所周知,我们目前最常用的虚拟机hotspot使用可达性分析来进行垃圾回收,而可达性分析需要依赖GC Root。下面我就来介绍下可以作为GC Root的对象。

(一)虚拟机栈中引用的对象
虚拟机栈中的引用的对象可以作为GC Root。我们程序在虚拟机的栈中执行,每次函数调用调用都是一次入栈。在栈中包括局部变量表和操作数栈,局部变量表中的变量可能为引用类型(reference),他们引用的对象即可作为GC Root。不过随着函数调用结束出栈,这些引用便会消失。

(二)方法区中类静态属性引用的对象
简单的说就是我们在类中使用的static声明的引用类型字段,例如:

Class Dog {private static Object tail;
} 

(三)方法区中常量引用的对象
简单的说就是我们在类中使用final声明的引用类型字段,例如:

Class Dog {private final Object tail;
} 

(四)本地方法栈中引用的对象
就是程序中native本地方法引用的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPv6 解说 ,与IPv4的同异

见:https://baike.baidu.com/item/IPv6/172297 IPv6 IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替…

USACO Training Section 5.1 Fencing the Cows 圈奶牛(凸包)

夫约翰想要建造一个围栏用来围住他的奶牛&#xff0c;可是他资金匮乏。他建造的围栏必须包括他的奶牛喜欢吃草的所有地点。对于给出的这些地点的坐标&#xff0c;计算最短的能够围住这些点的围栏的长度。 输入 输入数据的第一行包括一个整数 N。N&#xff08;0 < N < 10,…

Linux各发行版本简介

Linux的发行版本可以大体分为两类&#xff0c;一类是商业公司维护的发行版本&#xff0c;一类是社区组织维护的发行版本&#xff0c;前者以著名的Redhat&#xff08;RHEL&#xff09;为代表&#xff0c;后者以Debian为代表。 1、Redhat&#xff0c;应该称为Redhat系列&#xff…

个推应用统计产品(个数)Android集成实践

2019独角兽企业重金招聘Python工程师标准>>> 前段时间&#xff0c;我们公司的产品又双叒叕给我们提了新需求&#xff0c;要求我们把APP相关的数据统计分析一下&#xff0c;这些指标包括但不限于应用每日的新增、活跃、留存率等等&#xff0c;最好每天都能提供数据报…

JVM中安全点safePoint有哪些?

安全点是jvm选来进行GC的线程中断点。线程在执行到安全点后询问GC标志位&#xff0c;若标志位标识将要进行GC&#xff0c;则程序主动中断挂起线程等待GC。安全点的选定基本上是根据"是否具有让程序长时间执行的特征"为标准进行选定的。目前会产生安全点的主要有&…

深入理解 PHP7 中全新的 zval 容器和引用计数机制

深入理解 PHP7 中全新的 zval 容器和引用计数机制 最近在查阅 PHP7 垃圾回收的资料的时候&#xff0c;网上的一些代码示例在本地环境下运行时出现了不同的结果&#xff0c;使我一度非常迷惑。 仔细一想不难发现问题所在&#xff1a;这些文章大多是 PHP5.x 时代的&#xff0c;而…

分布式系统的架构思路

见&#xff1a;http://www.cnblogs.com/chulung/p/5653135.html 一、前言 在计算机领域&#xff0c;当单机性能达到瓶颈时&#xff0c;有两种方式可以解决性能问题&#xff0c;一是堆硬件&#xff0c;进一步提升配置&#xff0c;二是分布式&#xff0c;水平扩展。当然&#xff…

狂赌智能手机 中国互联网巨头深陷零利润困局

编者按&#xff1a;智能手机正在中国普及&#xff0c;互联网企业趋之若鹜。然而&#xff0c;在苹果、三星共享智能手机市场99%利润的大背景下&#xff0c;中国互联网企业要从所剩无几的利润空间里分一杯羹&#xff0c;注定备受煎熬&#xff0c;前路迷茫。 互联网巨头纷纷进入智…

占用较多堆外内存的区域

&#xff08;1&#xff09;Director Memory 主要在nio中会使用&#xff0c;在内存不足时会抛出OOM或者OOM:Direct buffer memory。 &#xff08;2&#xff09;线程堆栈 为每个线程分配的栈空间&#xff0c;用于保存局部变量&#xff0c;执行程序代码。内存不足时可能抛出StackO…

Oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解

在Oracle中select into from不可以使用&#xff0c;用create table select代替该功能&#xff01;&#xff01;&#xff01;在Sql Server中可以正常使用。1.INSERT INTO SELECT语句语句形式为&#xff1a;Insert into Table2(field1,field2,...) select value1,value2,... from…

帆软地址栏传参,实例

自动查询&#xff1a; http://help.finereport.com/finereport9.0/doc-view-409.html参数的种类与区别&#xff1a; http://help.finereport.com/doc-view-156基本参数传递&#xff08;视频&#xff09;&#xff1a; http://bbs.fanruan.com/lesson-14.html超级链接-传递多个值…

RMI 说明

见&#xff1a;https://baike.baidu.com/item/RMI/1786244?fraladdin RMI远程方法调用 相关概述 RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象&#xff0c;它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说&…

李善友:为什么外企人不敢创业

摘要&#xff1a;20年前&#xff0c;人们最骄傲的是进外企&#xff0c;创业意味着找不到工作。而现在相反&#xff0c;你要说自己在外企工作&#xff0c;会被人笑话&#xff0c;令人激动的事儿是去创业。 李善友&#xff1a;中欧创业中心主任创业学兼任教授、酷6网创始人 孙陶然…

JVM对象占用内存计算

大家都知道&#xff0c;jvm中对象实例存储在堆中&#xff0c;对象的引用存储在栈中&#xff0c;而对象的元数据(类型数据)存储在方法区。在我们进行内存优化的过程中经常需要了解每个对象占用的内存大小。接下来我将介绍对象占用内存大小的计算方式。 Java的对象模型 java是面…

绘图基础语法与常用参数

1 # -*- coding: utf-8 -*-2 3 ###############################################################################4 ####################### 正文代码 #######################5 #################################################################…

MyEclipse 皮肤、主题、背景色

第一步&#xff1a;打开myeclipse--->help--->install from site--->Add将路径粘贴在这里。等待安装颜色主题。https://raw.github.com/guari/eclipse-ui-theme/master/com.github.eclipseuitheme.themes.updatesite 第二步&#xff1a;http://eclipsecolorthemes.org…

RPC 远程过程调用协议

RPC&#xff08;Remote Procedure Call Protocol&#xff09;——远程过程调用协议&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。 RPC协议假定某些传输协议的存在&#xff0c;如TCP或UDP&#xff0c;为通信程序之间携…

周鸿祎:创业前的积累很重要

摘要&#xff1a;虽然公司上市&#xff0c;也投资了很多公司&#xff0c;日前&#xff0c;在中国人民大学的演讲中&#xff0c;周鸿祎却称自己“从来不是一个成功人士&#xff0c;曾经是一个最大的失败者”。 360特供机还没露面&#xff0c;已经被周鸿祎通过微博炒得火热&#…

BZOJ 4710 [Jsoi2011]分特产 解题报告

4710 [Jsoi2011]分特产 题意 给定\(n\)个集合&#xff0c;每个集合有相同的\(a_i\)个元素&#xff0c;不同的集合的元素不同。将所有的元素分给\(m\)个不同位置&#xff0c;要求每个位置至少有一个元素&#xff0c;求分配方案数。 先考虑两个简单的问题 给定\(m\)个相同元素和\…

java接口调试思想

对于接口调试的理解&#xff1a;最近多次参与接口调试工作&#xff0c;一般情况都是获取对方接口文档&#xff0c;文档中有加密验证方式&#xff0c;根据加密验证方式开发&#xff0c;调用对应的接口。可以不可以简化这个流程那&#xff0c;至少减少一方的工作量。1、减少调用方…