方法在执行时, JVM是怎样分配内存的呢, 内存如何变化的?
学习来源: Java零基础教程视频(适合Java 0基础,Java初学入门)_哔哩哔哩_bilibili
1. 方法只定义, 不调用, 是不会执行, 在JVM中也不会分配"运行所属"的内存空间, 只有在调用方法的时候才会分配空间; 反之当该方法执行完毕后, 改内存会被释放
2. 在JVM中会分配这样的三块主要内存空间: 方法区内存; 堆内存 栈内存
(1). "栈" 是一种数据结构: Stack;
(2). 常见的数据结构:
数组; 队列; 栈; 链表; 二叉树; 哈希表/散列表
3. 栈数据结构存储数据分析图
4. 方法片段中的代码, 存在哪里
方法代码是.class字节码文件中一部分, 字节码文件在类加载时候,会把其放在方法区中, 每次调用方法时, 需要给该方法分配独立的活动场所, 在栈内存中分配;
方法在调用瞬间, 会给该方法分配空间, 会在栈内存中发生压栈动作, 方法执行结束后, 会执行弹栈动作;
压栈: 给该方法分配内存
弹栈: 释放内存
比如一个方法执行内存分析: 最后执行的结果为: 11 10;