對象

在語言層面上,創建對象時只要一個new的關鍵字就可以了。

在虛擬機上:

虛擬機遇到一條new指令時,首先要檢查這個指令參數是否能在常量池中定位到一個類的符號使用,並且檢查這個符號引用代表的類是否已加載、解析和初始化過。如果沒有,那必須執行相應的類加載過程。

對象分配內存的方式:

 1、指針碰撞:java堆中內存絕對規整,空閒內存放在一邊,所有用過的內存放在一邊,中間放着一個指針作爲分界點的指示器,那所分配內存就僅僅是把那個指針向空閒空間那邊挪動一段與對象大小相等的距離。

2、空閒列表:如內存不是規整,在分配時從列表中找到一塊足夠大的空間劃分給對象,並更新列表上的記錄。

發佈了50 篇原創文章 · 獲贊 15 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章