一、虚拟机与Java虚拟机
1、虚拟机
2、Java虚拟机
3、JVM的位置
通过javac等命令,将.java ===> .class(前端编译),
编译成字节码文件,后提供给JVM虚拟机来编译(后端编译)
二、JVM的整体结构
- 方法区、堆: 多个线程共享
- Java栈、本地方法栈、程序计数器: 每个线程独有一份
- 执行引擎: 将高级语言翻译成 机器语言,给操作系统
三、Java代码的执行流程
- 前端编译器,在任何一个环节编译失败了,那就不能生成一个正确的字节码文件
- 高级语言 ===> 机器语言 【由JIT编译器完成】
二次编译
第一次,将 源文件 ===> 字节码文件
第二次,将字节码文件 ===> 机器指令
四、JVM的架构模型
栈来管理运行。
java代码
编译代码
javap -v XXXXXX.class #反编译
1
总结