
全部展开

Java确实是一种跨平台语言,它的跨平台不限于Windows系统,也许您对其他系统了解不多,Java不仅可以在Windows上运行,而且可以在Linux上运行,Mac Os和其他类似UNIX的系统或某些嵌入式系统,他的平台独立性意味着用它编写的程序不需要打包在平台上的任何本地化代码(本机代码),本地化代码,jre或jdk. 他对此类跨平台功能的实现取决于他的特殊机制,即使用编译器将其编译为中间代码(即以Java字节码形式存储的类文件,即字节码)和JVM( Java虚拟机)解释器(可以理解为“翻译器”的角色)进行进一步说明. 因此,Java实际上需要两个过程,“源代码”->“字节码”是一个过程,即编译,他是跨平台的;然后“字节码”->“机器语言”一个过程是将机器的字节码形式解释为机器可以读取的机器代码形式. 此过程也是跨平台的.

当然,java本身的功能可能有限,因此它还提供了一个称为JNI的东西,它可以加载本地化代码,在类似UNIX的系统上支持动态链接(例如dll)或服务对象(例如,如此),为了确保此时仍具有一定的通用性,通常会根据运行时系统选择不同的本地库.

C语言本身具有7a686964616fe59b9ee7ad9431333332626162的多个版本java跨平台游戏,或可以在许多平台上支持的各种编译器,但是这种支持的通用性有限,例如在Windows上编写程序java跨平台游戏,在Linux上无法编译和运行. 正确地. 因为C语言等将由适合每个平台的编译器编译为适合该平台的版本,例如Windows下的二进制可执行文件(.exe格式),所以他无法在其他平台上执行它,因为他以Windows系统为目标. 是的,其他系统的解释器不理解如何解释这种“奇怪的语言”,因为该解释器只会是“他自己的”“语言”和机器语言. Java具有自己的解释器,因此可以代替系统的解释器.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-218003-1.html
没办法