1. 程式人生 > >深入理解JVM學習筆記(十五、物件的建立)

深入理解JVM學習筆記(十五、物件的建立)

下圖是JAVA虛擬機器物件的建立過程:

現在我們就以下幾點說明物件的建立:

1、給物件分配記憶體

給物件分配記憶體有指標碰撞空閒列表兩種方式。具體描述如下圖所示。按時

2、執行緒安全性問題

        無論是指標碰撞還是空閒列表,在高併發情況下都有可能存線上程安全性問題。解決方案如下:

        1、加同步鎖。

                安全但是執行效率低。

        2、本地執行緒分配緩衝

                針對每個執行緒,給其在堆記憶體中單獨分配一塊區域,每個執行緒只能使用分配給自己的區域。我們稱之為本地執行緒分配緩衝(Thread Local Aollocation Buffer )。

3、初始化物件

        初始化物件頭資訊。

4、執行構造方法