java-方法記憶體分配
1.方法只是定義,不呼叫,不會執行,也不會分配執行所屬的記憶體空間,只有在呼叫方法是才會動態分配空間
2.在jvm記憶體劃分上有三個主要的記憶體空間:
-方法區記憶體
- 推記憶體
- 棧記憶體
3.關於棧資料結構
- 棧:stack ,是一種資料結構
- 資料結構反映的是儲存形態
- 常見的資料結構:陣列,佇列,棧,連結串列,二叉樹,雜湊表/雜湊表……
4.方法執行程式碼片段在哪裡?方法執行的過程中記憶體在哪裡分配?- 方法程式碼片段屬於 .class 位元組碼檔案的一部分,位元組碼檔案在類載入的時候,將其放到方法區當中,所以jvm中的三塊記憶體空間 方法區最先有資料,存放了程式碼片段
- 程式碼片段雖然在方法區中只有一份,但是可以重複呼叫。每一次呼叫這個方法時,需要給該方法分配獨立額活動場所,在棧記憶體中分配【棧記憶體中分配方法執行的所屬記憶體空間】
5.方法在呼叫的時候,會給該方法分配的記憶體空間,發生壓棧動作,方法執行結束後,給該方法分配的記憶體空間全部釋放,此時發生彈棧動作。
6.區域性變數在“方法體”中宣告,區域性變數執行階段記憶體在棧中分配。
在方法呼叫時,引數傳遞的時候,實際上傳遞的是變數的值
相關文章
- java-記憶體Java記憶體
- 垃圾收集器與記憶體分配策略_記憶體分配策略記憶體
- 動態記憶體分配記憶體
- go記憶體分配器Go記憶體
- 深度理解glibc記憶體分配記憶體
- java基礎-記憶體分配Java記憶體
- hadoop 記憶體分配規則Hadoop記憶體
- C語言-記憶體分配C語言記憶體
- 記憶體分配策略學習記憶體
- 記憶體的分配與釋放,記憶體洩漏記憶體
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- C中的記憶體分配模型記憶體模型
- C++動態記憶體分配C++記憶體
- 記憶體分配問題處理記憶體
- mimalloc記憶體分配程式碼分析記憶體
- C語言的記憶體分配C語言記憶體
- [20210126]探究oracle記憶體分配.txtOracle記憶體
- 【Java】 記憶體分配全面淺析Java記憶體
- JVM GC 與 記憶體分配策略JVMGC記憶體
- Python如何管理記憶體?記憶體分配機制是什麼?Python記憶體
- jvm:記憶體模型、記憶體分配及GC垃圾回收機制JVM記憶體模型GC
- MySQL記憶體管理,記憶體分配器和作業系統MySql記憶體作業系統
- Java記憶體區域與分配策略Java記憶體
- 【記憶體管理】頁面分配機制記憶體
- curl 中減少記憶體分配操作記憶體
- Go記憶體分配和GC的理解Go記憶體GC
- JVM 之 記憶體分配與回收策略JVM記憶體
- 深入理解golang:記憶體分配原理Golang記憶體
- Netty 中的記憶體分配淺析Netty記憶體
- MySQL OOM 系列一 Linux記憶體分配MySqlOOMLinux記憶體
- JVM垃圾回收和記憶體分配策略JVM記憶體
- 圖解Go語言記憶體分配圖解Go記憶體
- Android O 8.0 以上 bitmap記憶體分配Android記憶體
- v8記憶體分配淺談記憶體
- STM32記憶體結構介紹和FreeRTOS記憶體分配技巧記憶體
- C/C++使用malloc為結構體陣列分配記憶體(及free釋放記憶體)的三種方法C++結構體陣列記憶體
- 靜態方法和普通的成員方法||分配記憶體空間的區別記憶體
- C++ 指標動態記憶體分配C++指標記憶體