java方法执行内存分析,java语言对内存的释放是采用什么机制
00-1010一、前提1。堆栈2的存储器原理图。2是如何?JVM运行的方法?马鞭马鞭2。调用(执行)进程1。调用方法时的规则2。样本代码3。整个程序的方法调用过程图4。示例代码运行的屏幕截图
目录
一.前提
00-1010 1.运行时,classLoader类加载器会把类文件中方法对应的代码片段放到内存区的方法区,这样下次调用时就可以使用该方法了。2.在2的运行过程中。JVM中,方法中的代码块将按照方法调用的先后顺序,堆栈到内存中的堆栈空间中,堆栈和运行操作将按照方法中语句的执行顺序(从上到下,从里到外)进行。
1.栈的内存原理图
00-1010当一个方法首次调用,时,该方法对应的代码块将通过类加载器加载到内存中的方法区。
每次调用一个方法,相当于一个压栈过程.当方法中的所有语句都被执行时,方法就会被弹回(如果不被弹回,就会在某个点生成一个堆栈溢出异常)。
00-1010公共类practice { public static void main(string[]args){ system . out . println( main start );show 1();system . out . println(“main的结尾”);}公共静态void show 1(){ system . out . println( show 1 starts );show 2();system . out . println( show 1结束);}公共静态void show 2(){ system . out . println( show 2 starts );system . out . println( show 2结束);}}
2.JVM是怎么运行方法的???
3.1 JVM会自动调用main方法,因此main方法首先压栈,然后依次执行main方法里面的语句
3.2 当遇到show1()方法时,会把show1()方法压栈,并去执行show1方法里面的语句
3.3 执行show1方法里面的语句时,当执行到show2()时,show1方法暂停,然后对show2方法压栈,然后执行show2方法的内容
3.4 当执行完show2方法里面的内容时,会对show2方法进行弹栈,返回至show1方法中调用show2方法的位置,若没有对返回值有赋值操作,就会去执行后面的语句
3.5 执行完show1方法后会对show1方法进行弹栈,返回show1方法调用处的位置,然后去执行show1方法调用处以及后面的语句
二.调用(执行)过程
关于简单分析java方法调用在内存中的执行过程的这篇文章到此为止。更多相关java方法调用内容,请搜索热门IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。