局部變數表:應用程式中定義的普通變數就存放在棧中,棧中變數的大小程式運行開始的時候已經固定。 棧:方法執行時創建棧針,然後進入到棧中,根據先進後出的順序進行執行。 堆:對重存放程式中創建的對象。 新生代:新生代分為三個區域。Eden,ServivorFrom,ServivorTo。新創建的對象先存放 ...
局部變數表:應用程式中定義的普通變數就存放在棧中,棧中變數的大小程式運行開始的時候已經固定。
棧:方法執行時創建棧針,然後進入到棧中,根據先進後出的順序進行執行。
堆:對重存放程式中創建的對象。
新生代:新生代分為三個區域。Eden,ServivorFrom,ServivorTo。新創建的對象先存放到Eden區域,當Eden區域放滿後,觸發GC。對象被轉移到Servivor,當Servivor滿了會觸發GC,再次留下來的對象進入老年代。
老年代:老年代的空間相對新生代要比較大,不會經常進行GC,主要存儲存活時間比較長的對象。
永久代:存放類載入的class文件,GC不會在主程式運行期對永久區域進行清理。在Java8中,永久代已經被移除,被一個稱為“元數據區”(元空間)的區域所取代。
方法區:存儲虛擬機載入的類信息,常量,靜態變數,即時編譯器編譯後的數據。