亚洲天堂一级片-亚洲天堂三区-亚洲天堂久久精品成人-亚洲天堂毛片-久久国产欧美日韩高清专区-久久国产欧美日韩精品免费

北大青鳥北京通州校區:Java虛擬機介紹

文章來自北大青鳥北京通州校區學術部老師:

Java程序在運行時創建的所有類實例或數組都放在同一個堆中。而一個Java虛擬機實例中只有一個堆空間,因此所有線程都將共享這個堆。由于一個Java程序獨占一個Java虛擬機實例,因而每個Java程序都有自己的堆空間。

Java虛擬機有一條在堆中分配新對象的指令,卻沒有釋放內存的指令,正如你無法用Java代碼去明確釋放一個對象一樣,字節碼指令也沒有對應的功能。虛擬機自己負責決定如何已經合適釋放不在被運行的程序引用的對象所占據的內存。程序本身不用去考慮何時需要回收對象所占用的內存,通常,虛擬機把這個任務交給垃圾收集器。(北大青鳥北京通州校區,軟件技術培訓)

垃圾回收

垃圾收集器的主要工作是自動回收不在被運行的程序所引用的對象所占用的內存。此外,它也可能去移動那些還在使用的對象,以此減少堆碎片。

對象內部表示

Java對象中包含的基本數據由它所屬的類及其所有超類聲明的實例變量組成。只有有一個對象引用,虛擬機就必須能夠快速定位對象實例的數據。另外,它必須能通過該對象引用訪問相應的類數據(存儲于方法區的類型信息),在對象中通常有一個指向方法區的指針。

對象引用可認為是一個本地指針。通過某種策略可由該指針找到實例數據以及class data。

有如下幾個理由要求虛擬機必須能夠通過對象引用得到類數據(class data):

1. 當程序在運行時需要轉換某個對象引用為另一種類型,虛擬機必須能檢查這種轉換是否被允許。被轉換的對象是否的確是被引用的對象或它的超類。

2. 當程序執行 instanceof操作時,虛擬機也進行了同樣的檢查。(北大青鳥北京通州校區,軟件技術培訓)

3. 在程序中調用某個實例方法時,虛擬機必須進行動態綁定。不能按照引用的類型(type of reference),而是按照對象的實際類。

因此,虛擬機必須再次通過對象的引用去訪問類數據。

北大青鳥北京通州校區

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 日本韩国一区 | 91精品视频在线播放 | 黄色福利小视频 | 一区二区三区亚洲 | 国产玖玖视频 | a毛片成人免费全部播放 | 三级网站免费 | 亚洲一区二区三区四区五区六区 | 99九九精品国产高清自在线 | 婷婷丁香花麻豆 | 亚洲一区视频在线 | 国产三级在线视频播放线 | 2022国产精品手机在线观看 | 国产日韩免费 | 免费观看欧美成人h | 亚洲干综合 | 久久99在线 | 午夜大片免费男女爽爽影院久久 | 亚洲国产片| 久久久久久九九 | 国产精品视频成人 | 特级片视频 | 免费三级网站 | 欧美日韩精品一区二区三区不卡 | 国产欧美日韩在线观看一区二区三区 | 亚洲精品第一国产综合野 | 亚洲天堂视频网站 | 在线一级片 | 一区二区三区四区视频 | 国产不卡在线视频 | 久久99国产乱子伦精品免 | 99热久久国产精品免费看 | 99在线小视频 | 成人在线观看国产 | 台湾三级毛片 | 国产自产在线 | 高清在线精品一区二区 | 99精品久久久久久久免费看蜜月 | 欧美日韩综合精品一区二区三区 | 久草在线新视觉 | 国产精品亚洲二线在线播放 |