c++局部对象是什么_程序员每日一题-GCROOT对象
每天一題,進(jìn)步一點(diǎn)
答案:ABCD
解析
首先了解一下什么是GCROOT。
了解這個(gè)概念之前,我們先了解一下垃圾回收。
簡(jiǎn)單來說,JVM中程序的對(duì)象都會(huì)在堆區(qū)占據(jù)一定空間,如果不再使用了,JVM就會(huì)把它清除掉。
那么如何判定一個(gè)對(duì)象不再使用了,是不是廢棄的垃圾?
1.引用計(jì)數(shù)法:
對(duì)于某個(gè)對(duì)象而言,如果應(yīng)用程序中持有該對(duì)象的引用,就不是垃圾對(duì)象。有一個(gè)引用,數(shù)字就加1.當(dāng)引用不再指向它時(shí),數(shù)字就減1,直到減為0,就認(rèn)為它是垃圾對(duì)象
但是有個(gè)弊端,如果AB兩個(gè)對(duì)象互相引用,就永遠(yuǎn)不會(huì)認(rèn)為它們是垃圾。
2.可達(dá)性分析
通過GC ROOT的對(duì)象向下查找,看某個(gè)對(duì)象是否可達(dá)
能成為GC ROOT的對(duì)象有:類加載器、虛擬機(jī)棧的局部變量表、static成員,常量引用、本地方法棧的變量、本地方法棧中JNI引用對(duì)象(這個(gè)只需要知道,不深究是個(gè)啥)等
好,回到題目,
A選項(xiàng),虛擬機(jī)棧中的引用對(duì)象,就是虛擬機(jī)棧的局部變量表
B選項(xiàng),方法區(qū)中類靜態(tài)屬性引用的對(duì)象,很明顯,是static成員
C選項(xiàng),方法區(qū)中常量引用對(duì)象,也是
D選項(xiàng),本地方法棧中JNI引用對(duì)象,都是
總結(jié)
以上是生活随笔為你收集整理的c++局部对象是什么_程序员每日一题-GCROOT对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java bitset_Java Bit
- 下一篇: ruby 将日期转化为时间_Ruby中的