总结
- jvm 是一套规范,只要实现了相关规定就可以视为是一个 jvm,jdk 的是 hotSpot,不同 jdk 版本的 jvm 也有细微差异
- jvm 不仅可以作为 java 的运行环境,还能作为别的语言的运行环境,比如 kotlin、 groovy 等
- java 能跨平台是因为不同平台都有对应的 jvm,jvm 能把同样的 java 文件生成对应系统的机器指令,从而达到跨平台的目的
- jvm 的根本作用就是生成机器指令、内存分配和垃圾处理
JVM、JRE、JDK
jvm:1,读取 class 文件,并解释为机器指令;2,内存分配
jre:运行机器指令;包含 jvm 和一些基础类库(String、Object 等)
jdk:包含 jre 和 编译工具(javac、javap 等)