JVM基础知识
java编译成class文件,再被类加载器加载到JVM中。
java是解释执行还是编译执行的?
其实都有。如果一段代码用的特别多(一些特定的),那就被JIT即时编译成exe文件,下次用的时候就不需要再解释,可以直接调用。
jvm特点
- JVM和java无关,只跟class这种格式有关。任何语言只有变成class就可以在jvm上编译执行。
- jvm是一种规范。定义了jvm应该具备哪些规范
- 是虚构出来的一台计算机。所以有自己的CPU,有自己的指令集,自己的内存管理。
常见JVM实现
HotSpot
oracle官方
Jrockit
曾号称世界最快的JVM,被Oracle收购,合并于hotspot
azul zing
收费。最新垃圾回收的业界标杆。速度极快(号称STW 1ms内)
HotSpot的ZGC参考的azul中的实现。
JVM JRE JDK区别
JVM只是执行的。JRE是运行已编译Java程序所需的所有内容的集合。JDK是开发用的。
Class File Format
二进制字节流