深入理解java虚拟机
245123774
这个作者很懒,什么都没留下…
展开
-
java虚拟机_04程序编译与代码优化
Java语言的”编译器”其实是一段”不确定”的操作过程, 因为它可能是指一个前端编译器(其实叫”编译器前端”更准确些)把.java文件转变为.class文件的过程, 也可能是指虚拟机的后端运行期编译器(JIT编译器)把class文件转变为机器码的过程.1、编译过程大概可以分为3个过程: 1、解析与填充符号表的过程; 2、插入式注解处理器的注解处理过程; 3、分析与字节码生成的过程;原创 2017-03-31 23:35:16 · 349 阅读 · 0 评论 -
深入理解Java虚拟机_03虚拟机执行子系统
1. 编译阶段的常量传播优化 :public class ConstClass{ static { System.out.println("ConstClass init"); } public static final String HELLOWORLD = "hello world"; } public class Test { publi原创 2017-03-20 23:42:52 · 213 阅读 · 0 评论 -
深入理解java虚拟机_05高效并发
1.概念:1、指令重排序: 为了使得处理器内部的运算单元能尽量被充分利用, 处理器可能会对输入代码进行乱序执行优化, 处理器会在计算之后将乱序执行的结果重组, 保证该结果与顺序执行的结果是一致的, 但并不保证程序中各个语句计算的先后顺序与输入代码中的顺序一致, 2.内存间交互操作:原创 2017-03-28 22:59:38 · 300 阅读 · 0 评论 -
深入理解Java虚拟机_02自动内存管理机制
1. Java虚拟机所管理的内存将会包括以下几个运行时数据区域: 1、程序计数器; 2、Java虚拟机栈; 3、本地方法栈; 4、Java堆; 5、方法区; 2. Java虚拟机栈: Java虚拟机栈是线程私有的, 它的生命周期与线程相同, 虚拟机栈描述的是Java方法执行的内存模型: 每个方法在执行的同时都会创建一个栈帧用于存储局部变量表, 操作数栈, 动态链接, 方原创 2017-04-04 14:39:39 · 518 阅读 · 0 评论