java 全过程
- 编辑过程
.java 源文件,纯文本文件 - 编译过程
.class 目标文件,二进制文件(乱码)
JVM(java 虚拟机)用 - 运行过程
类加载器ClassLoader加载二进制目标文件,然后转成对应机器(计算机)机器二进制文件,在电脑上执行
为什么java能跨平台???
Java具有很强大一个功能,就是跨平台,一次编译,号称任意平台都可以直接运行。如何实现的呢?就是因为中间多了个jvm虚拟机。我们javac编译*.java文件为字节码文件,然后在指定的操作系统上,加载字节码文件。注意它的特点:字节码文件都一致,但每个JVM不同,每个JVM都是根据服务器硬件而专门编写的。这样JVM虚拟机会把字节码文件再次编译成对应硬件服务器上的指令集,这样就完美的解决了跨平台的特性。
流程图:
JVM工作原理
JDK 和 JRE 关系