什么是JVM?
- JVM是一个虚构出来的计算机,本身也是一种规范,有着自己的指令集和内存管理
- 和Class文件有关系,并非绑定Java,任何语言只要可以编译成Class文件都可以在JVM中运行
- 也就是说,从装载类库到解释器或者编译器执行,这块内容都属于JVM
JVM是解释执行还是编译执行?
- 混合执行,即是有编译也有解释
- mixed mode表示解释执行和编译执行混合
- 解释器:Bytecode intepreter
- 编译器:JIT, Just In-Time compiler
- JVM会自动监测热点代码,把热点代码编译,而非热点代码则为解释执行
JVM常见的实现有哪些?
JDK JRE JVM有什么区别?
- JVM叫java的虚拟机,只是用来执行的
- JRE是运行时的环境,java要在操作系统上运行,除了虚拟机之外,还得有Java的核心类库
- JDK是Java的开发工具包,包含了JRE和JVM