靜態成員存放的位置


首先,我們得明白內存分為五個區域

  1. 寄存區(程序計數器)
  2. 本地方法區
  3. 方法區
  4. 堆區
  5. 棧區

在jdk8之前,靜態成員(即靜態變量和靜態方法)都是存儲在方法區中。

在jdk8開始,靜態成員放在了堆中。

但是,不管是現在的版本,還是以前的版本,存放在哪里我們不太關注,我們要明白:

方法的執行都是在棧中進行的,(不論是靜態方法還是成員方法)。每個線程會在棧內存中開辟一個棧,在調用方法時,對應的方法都會在執行這個方法的的線程的棧中創建一個“棧幀”,當方法執行完畢,棧幀被銷毀,對應的內存也被釋放。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM