Java虛擬機器學習-對象的建立

來源:互聯網
上載者:User

標籤:java   中間   空間   參數   虛擬機器   初始化   指標   虛擬   常量   

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

  類載入檢查通過後,接下來虛擬機器將為新生對象分配記憶體。對象所需記憶體的大小在類載入完成後便可完全確定,為對象分配空間的任務等同於把一塊確定大小的記憶體從Java堆中劃分出來。假設Java堆中記憶體是絕對規整的,所有用過的記憶體放到一邊,閒置記憶體放到一邊,中間放著指標作為分界點的指標,那所分配記憶體僅僅是把那個指標向空閑空間那邊挪動一段與對象大小相等的距離,這種分配方式稱為“指標碰撞”。如果Java堆的記憶體並不是規整的,虛擬機器必須維護一個列表,記錄上哪些記憶體塊是可用的,在分配的時候從列表中找到一塊足夠大的空間劃分給對象執行個體,並更新列表上的記錄,這種分配方式稱為“空閑列表”。

Java虛擬機器學習-對象的建立

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.