《深入理解Java虚拟机》笔记

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 双亲委派模式不是一个强制性的约束,而是Java设计者推荐给开发者的类加载实现方式。双亲委派模式出现过的3次“破坏”:

加载完完成后,接下来就要看程序是怎么运行的。栈帧是用于支持虚拟机进行方法调用和执行,帧的意思就是一个单位,在调用其他方法的时候会向栈中压入栈帧,结构如下:

在Class文件编译完成之后,在运行的时候需要多少个局部变量就已经确定(在前面Class文件中也已经看到过了),那么这里需要注意这个特性可能会引发GC(具体如何引发就不在这里细说了)。在栈中,总是底层的栈去调用高层的栈(并且一定的相邻的),那么他们在参数传递(返回结果)的时往往是通过将其压入操作数栈,有些虚拟机为了提高这部分的效率使得相邻栈帧“纠缠”在一起:

那么我们接下来要去看是方法是如何执行的,第一个问题就是执行哪个方法?在“面向过程”的编程中似乎不存在在个问题,但是在Java OR C++中这都是比较蛋疼的一个问题。原因就是平时不会这么用,但是你必须去搞明白= =。

[1][2]

你说只有有缘人才可以取下,我看着你手中的戒指,

《深入理解Java虚拟机》笔记

相关文章:

你感兴趣的文章:

标签云: