Java的跨平台原理
明确知识类型
Java跨平台原理是属于原理型知识类型,那么需要结合例子去学习,最好有类比的方法帮助记忆与理解
理解字面概念含义
Java:Java程序
平台:操作系统,如:Linux、window
跨平台:在任意操作系统运行
Java跨平台:Java程序能够在任意操作系统上运行
此时我们就明白了该原理讲的是什么了,接下来就需要去弄清楚Java程序是怎么实现在任意操作系统上运行,这个就是Java跨平台原理的真正重要的部分
为什么Java程序能够在任意操作系统运行
Java程序通过编译器将源文件(.java)编译成字节码文件(.class)(二进制文件)。字节码在不同操作系统的虚拟机运行,翻译成对应的操作系统能够读懂的平台机器码,并执行。
这样看有点难以理解,我们可以把这段话先拆开。
源文件:以.java结尾的文件,也就是我们编写的代码文件
字节码文件:以.class结尾的二进制文件,不可以被系统直接执行,需要通过虚拟机解释执行
编译器:javac.exe。全程 Java compiler(java 编译器)可以将源文件编译成虚拟机所需要的二进制字节码文件
虚拟机:JVM。全称 Java Virtual Machine (Java虚拟机)。Java虚拟机是一个程序,可以将字节码文件解释成对 应的操作能够理解的平台机器码
平台机器码:machine code(机器语言指令、原生码)。是cpu可以直接解读的数据(0和1)
类比记忆
理解了这些概念后,我们可以采用类比的方法帮助理解和记忆了。
源文件:我的草稿
字节码文件:被编译后的正式文章
编译器:编辑(还是我,没办法,哈哈哈)
虚拟机:国外的翻译
平台机器码:德文、英文啦之类
我是一个著名CSDN博主,然后我写了《Java跨平台原理学习》草稿(源文件),发给了我的编译(编译器),他整理(编译)后,发给了各个想翻译我文章的翻译(虚拟机),翻译们把我的文章翻译成了各国的语言(机器码),这样国外的读者也可以看懂我的文章了。