下面小編就為大家帶來一篇java儲存以及java物件所建立的流程(詳解)。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
java儲存:
1)暫存器:這是最快的儲存區,位於處理器的內部。但是寄存器的數量有限,所以寄存器會根據需求進行分配。我們不能直接進行操作。
2)堆疊:位於通用RAM中,可以透過堆疊指標從處理器取得直接支援。堆疊指標往下移動,則分配新的記憶體。在網路上移動,則釋放記憶體。但是
在創建程式的時候必須知道儲存在堆疊中的所有項目的具體生命週期,以便上下的移動指標。一般儲存基本型別和java物件引用。
3)堆:位於通用RAM中,存放所有的java對象,不需要知道特定的生命週期。
4)常數儲存:常數值通常直接存放在程式碼內部。
5)非RAM儲存:資料完全存活於程式之外,可以不受程式的控制,在程式沒有運作時也可以存在。就是將物件轉化為可以存放在其他媒材上的事物。如:流物件、持久化物件
物件建立的流程:
1):即使沒有顯示的呼叫static,建構器其實也是靜態方法。因此,當首次建立物件的時候或首次呼叫靜態方法/靜態域時,java解釋器必須尋找類別路徑,定位class檔案。
2):載入class文件,有關靜態的方法或變數都會執行。因此,靜態初始化只會在類別載入時被初始化一次。
3):使用new建立時,會先在堆上為物件分配足夠的儲存空間。
4):將這塊區域清零,這時,就自動的將物件中的基本成員變數或引用進行預設的初始化。數字為零,引用為null。
5):執行所有出現於欄位定義處的初始化動作。
6):執行建構器。
以上是java儲存及java物件創建流程的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!