![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 66
Doge Chen
这个作者很懒,什么都没留下…
展开
-
i++ ++i 局部变量表 操作数栈
执行是看栈内,要注意局部变量表内入栈与出栈时机。此外在代码循环while(i–)之类的,应该意识到此时先入栈,再在局部变量表自减,栈内是i,不过局部变量表已经是i-1,下一次再入栈那就是i-1了。i = i++; 代码解释:iload_1 把局部变量表中位置为“1”的变量加载到栈顶,即把 i 的值加载到栈顶。iinc 1 by 1,将局部变量表中位置为“1”的 i 加 1,此时局部变量表中 i 的结果为 2。然后 istore_1 把栈顶的元素弹出,并赋值给局部变量表中位置为“1”的变量。所以 i 的值原创 2021-11-24 19:40:12 · 719 阅读 · 0 评论 -
虚拟机执行子系统——类文件结构、字节码指令、类加载机制、虚拟机字节码执行引擎
深入理解Java虚拟机——虚拟机执行子系统类文件代码编译的结构从本地机器码转化为字节码,是编程语言的一大步。越来越多的程序语言选择将代码编译为与操作系统、机器指令集无关、平台中立的格式。Java虚拟机只和Class文件绑定,不和任何语言绑定,所写Java程序通过javac编译器,得到相对应的字节码文件,也就是.class文件,从而被虚拟机执行。Java语言的每一行代码都是由多条字节码命令组合而成,因此字节码能够提供的语义描述能力肯定比Java语言本身强。虽然说是文件,但不一定就由磁盘形式存在,可以原创 2021-09-28 20:50:44 · 184 阅读 · 0 评论 -
自动内存管理机制——运行时数据区、对象创建、内存布局、访问、垃圾回收
深入理解Java虚拟机走进Java优点:结构严谨、面对对象;摆脱硬件束缚;内存安全管理;热点代码检测和运行时编译优化;有一套完整的应用程序接口,第三方类库JDK(Java Development Kit):Java程序设计语言、Java虚拟机、Java API类库三部分JRE(Java Runtime Environment):Java API类库中的Java SE API子集、Java虚拟机两部分自动内存管理机制运行时数据区域程序计数器Program Counter Register:可原创 2021-09-26 18:29:56 · 117 阅读 · 0 评论