java-方法記憶體分配
1.方法只是定義,不呼叫,不會執行,也不會分配執行所屬的記憶體空間,只有在呼叫方法是才會動態分配空間
2.在jvm記憶體劃分上有三個主要的記憶體空間:
-方法區記憶體
- 推記憶體
- 棧記憶體
3.關於棧資料結構
- 棧:stack ,是一種資料結構
- 資料結構反映的是儲存形態
- 常見的資料結構:陣列,佇列,棧,連結串列,二叉樹,雜湊表/雜湊表……
4.方法執行程式碼片段在哪裡?方法執行的過程中記憶體在哪裡分配?- 方法程式碼片段屬於 .class 位元組碼檔案的一部分,位元組碼檔案在類載入的時候,將其放到方法區當中,所以jvm中的三塊記憶體空間 方法區最先有資料,存放了程式碼片段
- 程式碼片段雖然在方法區中只有一份,但是可以重複呼叫。每一次呼叫這個方法時,需要給該方法分配獨立額活動場所,在棧記憶體中分配【棧記憶體中分配方法執行的所屬記憶體空間】
5.方法在呼叫的時候,會給該方法分配的記憶體空間,發生壓棧動作,方法執行結束後,給該方法分配的記憶體空間全部釋放,此時發生彈棧動作。
6.區域性變數在“方法體”中宣告,區域性變數執行階段記憶體在棧中分配。
在方法呼叫時,引數傳遞的時候,實際上傳遞的是變數的值
相關文章
- java-記憶體Java記憶體
- JavaScript記憶體分配JavaScript記憶體
- JVM記憶體分配JVM記憶體
- java記憶體分配Java記憶體
- 垃圾收集器與記憶體分配策略_記憶體分配策略記憶體
- JVM 記憶體模型 記憶體分配,JVM鎖JVM記憶體模型
- 探索iOS記憶體分配iOS記憶體
- Java 記憶體分配策略Java記憶體
- java jvm 記憶體分配JavaJVM記憶體
- [C++]記憶體分配C++記憶體
- 動態記憶體分配記憶體
- java基礎-記憶體分配Java記憶體
- C語言-記憶體分配C語言記憶體
- go記憶體分配器Go記憶體
- Java 堆疊記憶體分配Java記憶體
- 記憶體分配策略學習記憶體
- 記憶體分配的確定記憶體
- weblogic的記憶體分配Web記憶體
- 記憶體分配方式 (轉)記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- C語言-記憶體管理之一[記憶體分配]C語言記憶體
- 簡單理解動態記憶體分配和靜態記憶體分配的區別記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- hadoop 記憶體分配規則Hadoop記憶體
- mimalloc記憶體分配程式碼分析記憶體
- C語言的記憶體分配C語言記憶體
- 深度理解glibc記憶體分配記憶體
- 記憶體分配問題處理記憶體
- 物件的建立與記憶體分配物件記憶體
- go是如何分配記憶體的?Go記憶體
- 【Java】 記憶體分配全面淺析Java記憶體
- JVM GC 與 記憶體分配策略JVMGC記憶體
- 控制C++的記憶體分配C++記憶體
- C++ 動態記憶體分配C++記憶體
- 記憶體分配的隱藏成本記憶體
- 動態分配記憶體地址(.NET)記憶體
- Oracle記憶體分配與調整Oracle記憶體
- Oracle的記憶體分配和使用Oracle記憶體