JVM:(二)運行時數據區

1. 運行時數據區


1)堆:線程共享,存放新建的對象。
2)方法區:線程共享,存放類信息、常量、靜態變量等。
3)虛擬機棧:線程獨立,又叫線程棧。用來存放線程內部的局部變量,先進後出FILO。棧由棧幀組成,棧幀又分爲:局部變量表,操做數棧,動態連接,方法出口。線程方法裏產生的較小的局部對象也可能存放在虛擬機棧中。局部變量表:存放局部變量。
        棧幀:java爲每個方法,在棧內存裏分配一塊棧幀,用來隔離每一個方法裏的局部變量。
        操做數棧:線程運行時,用於處理數據的臨時內存空間。
        動態連接:
        方法出口:記錄方法執行完成時返回當上級方法的執行位置。
4)本地方法棧:java調用本地方法(native 修飾的方法)時,分配的內存空間。
5)程序計數器:當前線程所執行的字節碼行號指示器,記錄代碼執行到哪一行java

2. 參數設置

    
        -Xms 最小值。
        -Xmx 最大值。
     方法區
        -XX:MetaSpaceSize 默認 21M,當內存快滿的時候會進行gc,根據gc後剩餘的空間大小判 斷是否須要擴容。生產中通常設置成256M。
        -XX:MaxMetaSpaceSize 默認 -1,不限制最大值。
    
        -Xss 默認1M
相關文章
相關標籤/搜索