在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ Java靜態(tài)變量所在的類被回收了,靜態(tài)變量會不會被一起回收?

Java靜態(tài)變量所在的類被回收了,靜態(tài)變量會不會被一起回收?

我了解到,
如果調(diào)用一個類的靜態(tài)變量時,它所在的類還沒有被加載,就會開始類的加載、初始化過程;
如果這個靜態(tài)變量使用完了,也沒有引用指向它了,靜態(tài)變量所在的類就可以被gc回收了;

靜態(tài)變量是存放在方法區(qū)的,類的對象是存放在堆內(nèi)存的,類被回收了,靜態(tài)變量會被一起回收嗎?

我猜是不會的,因為方法區(qū)很少涉及到gc,而且靜態(tài)變量是持續(xù)到進程的生命周期結束的。

如果上面說的都對,那再次調(diào)用這個靜態(tài)變量的時候,如果所在的類被回收了,是否會再重新進行一次加載和初始化過程?

謝謝

回答
編輯回答
傻丟丟

方法區(qū):
1.又叫靜態(tài)區(qū),跟堆一樣,被所有的線程共享。方法區(qū)包含所有的class和static變量。
2.方法區(qū)中包含的都是在整個程序中永遠唯一的元素,如class,static變量。

2017年6月10日 07:11
編輯回答
雨萌萌

如果靜態(tài)變量還被引用的話,靜態(tài)變量所處的類為什么會被回收呢?這個前提感覺就是不存在的吧。

2017年1月21日 05:56