Java虚拟机的理解
本文是学习之后的总结,旨在分享交流,如有不足之处还请批评指正,有问题可联系:
QQ:2727139257,邮箱:2727139257@qq.com,
因本人也是正常的上班族,若未能及时回复,还请谅解,谢谢!
1.Java虚拟机
定义
Java虚拟机(Java Virtual Machine,简称JVM),是Java语言跨平台性的核心。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
举例
为了更好的理解Java虚拟机,举个例子:
比如一个人到了其他国家,还不懂这个国家的语言,所以会遇到很多的困难,而如果有一个翻译,将会轻松很多;但是如果到了另一个不同语言的国家,之前的翻译可能已经满足不了需求,那就需要另外的翻译了。
总结
Java虚拟机的功能类似于翻译,本身并不具备跨平台的功能,不同的平台(操作系统)需要不同的Java虚拟机。
2.Java运行环境
定义
Java运行环境(Java Runtime Environment,简称JRE),它主要包含两个部分,JVM 的标准实现和 Java 的一些基本类库。它相对于 JVM 来说,多出来的是Java运行时的所需要的核心类库。
3.Java开发工具包
定义
Java开发工具包(Java Development Kit,简称JDK),是整个 Java 开发的核心,它集成了 JRE和开发人员使用的工具。如:javac.exe,java.exe,jar.exe 等。
4.JVM、JRE与JDK的关系
如图: