字节码文件(.class)是与平台无关的二进制码,执行时有解释器(JVM虚拟机完成)解释成本地机器码,解释一句,执行一句。一个.java的文件,经过(javac命令)编译,形成一个.class的字节码文件,然后(java命令)执行在JVM上。因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。
步骤:编写源文件(记事本),编译Java源文件(使用Java编译器javac.exe)编译源文件得到字节码文件,运行Java程序(Java应用程序必须通过Java解释器java.exe来解释执行字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行)
(1)JVM(JVM Java Virtual Machine):核心机制,Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。对于不同的平台,有不同的虚拟机。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
(2)JRE(Java RuntimeEnvironment Java运行环境)
包括Java虚拟机(JVM JavaVirtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
(3)JDK(JavaDevelopment Kit Java开发工具包) jar包
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。