JAVA为什么跨平台?
Java语言是跨平台的开发语言,java语言跨平台,但是java虚拟机(JVM)不跨平台。Jvm在java语言中充当“翻译官”的角色,不同的平台jvm不同。(平台这里指的是操作系统)
JDK、JRE、JVM的关系
Jdk(java development toolkit ,java开发工具包)
是java的核心,包括了java运行环境,一堆java工具(javac、java、jdb)和java基础的类库(即javaAPI包括rt.jar)
可以认为Jre的bin目录里的就是jvm,lib中则是jvm工作所需要的类库
Jre(java runtime environmental,java运行时环境)
所有的java程序都要在jre下才能运行。包括jvm和java核心类库和支持文件。与jdk相比不包含开发工具(编译器、调试器、和其它工具)。
JVM(java virtual mechinal,java虚拟机)
jvm是jre的一部分,它是一个虚拟出来的计算机。Jvm的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。