面经--jvm
努力LT
这个作者很懒,什么都没留下…
展开
-
JVM-执行顺序
1.happens-before a happens-before b:a的操作对b是可见的,而不是说a在b之前运行。 Start规则:a线程调用b线程,a线程happens-before b线程。 Join规则:join的线程happens-before调用的线程。与Start规则相反。 ...转载 2019-01-11 12:01:11 · 162 阅读 · 0 评论 -
《JVM-虚拟机字节码执行引擎》学习笔记
一、运行时栈帧结构 执行引擎运行的所有字节码指令都只针对当前栈帧进行操作。 1.局部变量表 局部变量表是一组变量值存储空间,用于存储方法参数和方法内部定义的局部变量。 局部变量表最小存储单元----Slot double和long是64位,分配两个连续的Slot空间,由于局部变量表建立在线程的堆栈上,是线程私有的数据,无论读写两个连续的Slot是否位原子操作,都不会引起数据安全问题。 出现...转载 2019-01-10 10:32:57 · 111 阅读 · 0 评论 -
《JVM-虚拟机类加载机制》学习笔记
第七章 虚拟机类加载机制 一、概述 二、类加载的时机 类的生命周期 有且只有 5种情况必须立即对类进行“初始化”(加载、验证、准备在此之前开始): 五、当使用JDK1.7的动态语言支持时,如果一个java.lang.invoke.MethodHandle实例最后的解析结果REF_getStatic、REF_putStatic、REF_invokeStatic的方法句柄,并且这个方...转载 2019-01-05 18:25:14 · 133 阅读 · 0 评论 -
《JVM-类文件的结构》学习笔记
第六章 类文件的结构 一.Class类文件的结构 Class文件是一组以8字节为基础单元的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件中,中间没有添加任何分隔符,整个Class文件中存储的内容几乎都是程序运行的必要数据,没有空隙存在。 遇到8位字节以上的空间的数据项时,会按照高位在前的方式分割成若干个8位字节进行存储。 Class文件中有两种数据类型,分别是无符号数和表。 二....转载 2019-01-04 13:30:07 · 96 阅读 · 0 评论