前言
本篇内容大部分均来自周志明老师的《深入理解Java虚拟机》与网络上的资料。JVM 看这篇就差不多了。
一、跨平台
刚学Java的时候,听得最多的就是Java是跨平台的,编写一次到处运行(Write Once,Run Anywhere)。
- 平台:Windows、Mac、Linux等平台系统
- Java跨平台指的是:编译过后的 .class文件(字节码文件)可以跨平台。
- Java编译的结果是字节码文件,而其他语言如
C/C++
编译过后的是机器码文件,机器码文件可以直接运行,但是字节码文件还要经过JVM翻译一遍成为机器码文件才能被运行。 - 不同的平台有不同的JVM,同一.class文件就会编译成不同的机器码文件。
- 重点结论:就是不同的平台他的机器码文件不同。