2018-04-09
一、平台相关性:
windows系统只能运行windows的可执行文件(大部分是.exe)
linux系统只能运行linux的可执行文件
windows的可执行文件不能直接运行在linux系统中,linux的可执行文件也不能直接运行在windows系统中
二、实现街机游戏的跨平台
- 下载游戏包
- 下载当前电脑的游戏模拟器
windows:windows版本
linux:linux版本
3. 在当前操作系统中启动游戏模拟器
4. 加载游戏包
5. 在模拟器中玩游戏
游戏包:与平台无关,任何平台都不能直接运行游戏包
游戏模拟器:与平台有关(只需开发一次)
三、Java的跨平台性原理
- 编写java源代码
- 通过编译工具javac将源文件生成字节码文件(class文件)
- 启动java虚拟机(JVM),并指明加载哪一份字节码文件(class文件)
- 在虚拟机中解释执行字节码(class)文件
高级语言:
代码:源代码
存放代码的文件:源文件
启动JVM的工具:java
编译之后会生成与平台无关的字节码(class文件)
得依赖不同平台的虚拟机(JVM)
为什么不直接编写字节码文件(class文件)?
字节码文件(class文件)只能被JVM所识别,程序员并不能看懂。