一、java是如何实现跨平台的
1.将java文件编译成字节码文件(.class);
2.使用JVM(java虚拟机)运行字节码文件。
注意:
第一步中,在所有平台上生成的字节码文件都是相同的。
第二步中,在不同的平台上运行字节码文件的java虚拟机是不同的。
java的开发团队针对不同的平台开发出了对应版本的java虚拟机,
这使得同一个java代码文件可以在不同平台上运行。
二、什么是JDK、JRE、JVM?三者区别是什么?
1.JDK
JDK全称Java Development Kit,是程序开发者用来编译,调试java程序
用的开发工具包。主要用于移动设备、嵌入式设备上的java应用程序。
JDK的工具也是Java程序,也需要JRE才能运行。为保持JDK独立性和完
整性,在JDK安装过程中,JRE也是安装的一部分。所以,在JDK安装目
录下有一个名为jre的目录,用于存放JRE文件。
2.JRE
JRE,全称Java Development Kit,是指Java的运行环境,是可以在其上运行、
测试和传输应用程序的java平台。主要包含两个部分:JVM和Java系统类库。
所有的Java程序都要在JRE下才能运行。普通用户只需要运行已开发好的java
程序,安装JRE即可。
3.JVM
JVM,全称Java Virtual Machine(Java虚拟机),是一种用于计算设备的规范,
他是一个虚构出来的计算机,引入jvm后,Java语言在不同平台上运行时不需要
重新编译。JVM是Java跨平台的核心。
区别:
JDK包含了Java的运行环境(即JRE)和Java工具。JRE包含了一个Java虚拟机(JVM)
以及一些标准的类别函数库。总的来说,三者都处在一个包含关系内,即JDK包含JRE,
而JRE又包含JVM。
即:JDK=JRE+编译、运行等命令工具
JRE=JVM+Java系统类库