测评网站怎么做,怎么创建一个博客网站,做效果图兼职的网站,商丘做网站目录 JAVA入门级教学之#xff08;方法内存分配机制#xff09; 1.方法只定义#xff0c;不调用#xff0c;是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间#xff1a;【还有其它的内存空间】 3.关于栈数据结构 4.方法代码片段存在哪里#xff1f;…目录 JAVA入门级教学之方法内存分配机制 1.方法只定义不调用是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间【还有其它的内存空间】 3.关于栈数据结构 4.方法代码片段存在哪里方法执行的时候执行过程的内存在哪里分配 5.方法在调用的瞬间会给该方法【局部变量】分配内存空间会在栈中发生压栈动作 方法执行结束后给该方法分配的内存空间全部释放此时发生弹栈动作。 6.局部变量在方法体中声明。 JAVA入门级教学之方法内存分配机制 问题引入 方法在执行过程中在JVM中的内存是如何分配的内存是如何变化的 1.方法只定义不调用是不会执行的
并且在JVM虚拟机中也不会给该方法分配运行所属的内存空间 只有在调用这个方法的时候才会动态的给这个方法分配所属的内存空间 2.在JVM内存划分上有这样三块主要的内存空间【还有其它的内存空间】 *方法区内存 *堆内存 *栈内存 3.关于栈数据结构 *栈stack【是一种数据结构】 *数据结构反映的是数据的存储形态 *数据结构是独立的学科不属于任何编程语言的范畴只不过在大多数编程语言中使用 *作为程序员需要精通数据结构算法 *常见的数据结构 -数组 -队列 -栈 -链表 -二叉树 -哈希表/散列表 4.方法代码片段存在哪里方法执行的时候执行过程的内存在哪里分配 *方法代码片段属于.class字节码文件的一部分字节码文件在类加载的时候 将其放到了方法区中。所以JVM中的三块主要的内存空间中方法区内存最先有数据 存放了方法的代码片段。 *代码片段虽然在方法区内存中只有一份但是可以被重复调用。 每一次调用这个方法的时候需要给该方法分配独立的活动场所 在栈内存中分配。【相当于一个代码的活动空间栈内存中分配方法运行的所属内存空间】 5.方法在调用的瞬间会给该方法【局部变量】分配内存空间会在栈中发生压栈动作 方法执行结束后给该方法分配的内存空间全部释放此时发生弹栈动作。 *压栈给方法分配内存 *弹栈释放该方法的内存空间 -所以局部变量的生命周期是最短的 6.局部变量在方法体中声明。 局部变量运行阶段的内存在栈中分配。 //重点方法调用的时候在参数传递的时候。实际上传递的是变量中保存的那个值传过去了 public class method08
{public static void main(String[] args){int a10;int b20;int retValuesumInt(a,b);System.out.println(retValueretValue);}public static int sumInt(int i,int j){int resultij;//cpu去运行计算int num3;int retValuedivide(result,num);return reValue;}public static int divide(int x,int y){int zx/y;//cpu去运行计算return z;}}