第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java 對象類型信息 存在哪? 強制類型轉(zhuǎn)化的時候需要執(zhí)行哪些檢查以確保程序的正確性?

java 對象類型信息 存在哪? 強制類型轉(zhuǎn)化的時候需要執(zhí)行哪些檢查以確保程序的正確性?

牛魔王的故事 2019-04-03 11:07:51
java 對象類型信息 存在哪? 強制類型轉(zhuǎn)化的時候需要執(zhí)行哪些檢查以確保程序的正確性?
查看完整描述

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)換是否合法

查看完整回答
反對 回復 2019-04-12
?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

Java虛擬機把內(nèi)存主要劃分成 方法區(qū)、棧、堆等,類型信息是在class文件讀入的時候就被放到方法區(qū)了的。
你說的檢查類型,分為兩種情況:
1)基本類型。JVM內(nèi)部的基本類型和Java語言的基本類型大部分是一致的,因此編譯時檢查和轉(zhuǎn)換就完成了。
2)引用類型。不僅要編譯時檢查,而且在運行時會對對象持有的方法區(qū)的指針從方法區(qū)中查看類型是否一致,檢查時還會根據(jù)對象方法區(qū)中的超類型或接口類型的指針進行判斷,保證可以轉(zhuǎn)換為其超類型。

查看完整回答
反對 回復 2019-04-12
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

毫無疑問,對象信息肯定在堆內(nèi)存啊
棧內(nèi)存知識存儲了對象的一個句柄
可以先用instanceof關(guān)鍵字判斷對象是否是你準備轉(zhuǎn)換的類型,然后再向下轉(zhuǎn)換,比較安全

查看完整回答
反對 回復 2019-04-12
  • 3 回答
  • 0 關(guān)注
  • 1145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號