java 方法执行结束局部变量释放_JAVA-方法在执行过程中,JVM的内存分配和变化情况,栈(stack)的情况浅析...
生活随笔
收集整理的這篇文章主要介紹了
java 方法执行结束局部变量释放_JAVA-方法在执行过程中,JVM的内存分配和变化情况,栈(stack)的情况浅析...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法在執行過程中,在JVM中的內存是如何分配的?內存是如何變化的?
一、方法只定義不調用,是不會被執行的,并且在JVM中也不會給該方法分配“運行所屬”的內存空間。只有在調用這個方法的時候,才會動態的給這個方法分配所屬的內存空間。
二、在JVM內存劃分上有三塊主要內存空間(除了這三塊之外還有其它內存空間):
- 方法區內存
- 堆內存
- 棧內存
三、關于“棧”數據結構:
- 棧:satack,是一種數據結構
- 數據結構反映的是數據存儲的形態
- 常見的數據結構:數組、隊列、棧、鏈表、二叉樹、哈希表/散列表
四、方法代碼片段存在哪里?方法執行的時候執行過程的內存是在哪里分配?
五、方法在調用的瞬間,會給該方法分配內存空間,會在棧中發生壓棧動作。方法執行結束之后,給該方法分配的內存空間全部釋放,此時發生彈棧動作。壓棧:給方法分配內存。彈棧:釋放該方法的內存空間。
六、局部變量在棧中存儲,局部變量在運行階段,內存在棧中分配。
總結
以上是生活随笔為你收集整理的java 方法执行结束局部变量释放_JAVA-方法在执行过程中,JVM的内存分配和变化情况,栈(stack)的情况浅析...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql支持非关系_说下oracle、
- 下一篇: pip 安装 tensorflow_Te