用什么辦法可以獲取當(dāng)前JVM中所有的對(duì)象
4 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
常規(guī)的Java SE標(biāo)準(zhǔn)庫(kù)的API的話,沒有辦法達(dá)到題主的需求。
題主的需要本質(zhì)上說就跟Ruby的ObjectSpace一樣要能夠遍歷當(dāng)前JVM內(nèi)的所有活的對(duì)象實(shí)例,并對(duì)它們做操作。Java的標(biāo)準(zhǔn)庫(kù)沒有提供遍歷整個(gè)Java堆中的所有活的Java對(duì)象實(shí)例的方法。
通過JVMTI倒是有辦法遍歷出所有活的Java對(duì)象實(shí)例的,但那是一個(gè)主要用于支持調(diào)試器的API,并不適合普通Java程序自己對(duì)自己操作使用。
添加回答
舉報(bào)
0/150
提交
取消