3 回答

汪汪一只貓
TA貢獻1898條經(jīng)驗 獲得超8個贊
JVM維護了一個叫方法區(qū)的內(nèi)存區(qū)域。方法區(qū)里保存了所用到的類型信息,如該類的全限定名,直接父類的全限定名,指向classloader的指針,指向Class對象的指針等等。
所有在堆上創(chuàng)建的對象都有一個指回方法區(qū)的指針,該指針指向了該對象的實際類型信息。
執(zhí)行instanceof的時候,JVM就是通過查找方法區(qū)中的類型信息來獲得結(jié)果的。在做類型轉(zhuǎn)換時,JVM同樣需要檢查類型信息,以判斷該轉(zhuǎn)換是否合法

慕哥9229398
TA貢獻1877條經(jīng)驗 獲得超6個贊
毫無疑問,對象信息肯定在堆內(nèi)存啊
棧內(nèi)存知識存儲了對象的一個句柄
可以先用instanceof關(guān)鍵字判斷對象是否是你準備轉(zhuǎn)換的類型,然后再向下轉(zhuǎn)換,比較安全
添加回答
舉報
0/150
提交
取消