Java代码执行机制
PilerH
When it is obvious that goals cannot be reached, don't adjust the goals, adjust the action steps.
展开
-
Java字节码执行方式--解释执行和JIT
注:主要参考自《分布式java应用:基础与实践》《深入理解Java虚拟机(第二版)》 1、两种执行方式:· 解释执行(运行期解释字节码并执行)· 强制使用该模式:-Xint· 编译为机器码执行(将字节码编译为机器码并执行,这个编译过程发生在运行期,称为JIT编译)· 强制使用该模式:-Xcomp,下面是两种编译模式· client(即C1):只做少量性能开销比高的优化,原创 2017-07-04 16:11:28 · 1415 阅读 · 0 评论 -
Java类加载器ClassLoader源码解析
说明:了解ClassLoader前,先了解 第四章 类加载机制 1、ClassLoader作用· 类加载流程的"加载"阶段是由类加载器完成的。 2、类加载器结构结构:BootstrapClassLoader(祖父)-->ExtClassLoader(爷爷)-->AppClassLoader(也称为SystemClassLoader)(爸爸)-->自定义类加载器(儿子)关原创 2017-07-04 15:55:04 · 415 阅读 · 0 评论 -
Java代码执行机制
1、Java代码执行流程 ·第一步:*.java-->*.class(编译期)·第二步:从*.class文件将其中的内容加载到内存(类加载)(运行期)·第三步:执行代码(运行期) 说明:· 整个白框部分表示JVM管理的内存· 包含栈帧的地方称作JVM方法栈,一个栈帧就是一个方法· 在Hotspot JVM中,JVM方法栈和本地方法栈是同一个· java方法是通过原创 2017-07-04 14:07:12 · 631 阅读 · 0 评论 -
Javac编译原理
1、javac作用· 将*.java源代码文件转化为*.class文件2、编译流程 流程:· 词法分析器:将源码转换为Token流· 将源代码划分成一个个Token(Token包含的元素类型看3.2)· 语法分析器:将Token流转化为语法树· 将上述的一个个Token组成一句句话(或者说成一句句代码块),检查这一句句话是不是符合Java语言规范· 语义分析器:原创 2017-07-04 14:13:56 · 341 阅读 · 0 评论 -
Javap的使用与类文件结构
1、javap的使用与类文件结构使用过程:java源代码:package compile;/** * class字节码*/public class TestClass {private int m; public int inc() { return m + 1;}}在硬盘上找到java源文件所在目录(eg.E:\Java\wor原创 2017-07-04 14:23:04 · 325 阅读 · 0 评论 -
Java类加载机制
注:本文主要参考自《深入理解java虚拟机(第二版)》在查看本文前,先要了解JVM内存结构,见 第一章 JVM内存结构1、类加载流程· 把描述类的数据从xxx.class文件加载到JVM内存· 对这些数据进行校验、准备、解析(这三个过程总称为"链接")· 对这些数据进行初始化,最终形成可被JVM直接使用的Class对象注意:· 类加载过程是在运行期完成的2、加载原创 2017-07-04 15:31:45 · 180 阅读 · 0 评论