抱歉,如果这是题外话。我是一个 java 初学者,知道 java 应该是跨平台一致的。但我想知道我的 jar 文件或 *class 文件在 Ubuntu 上执行的事实是否保证它可以在 MacOS 上正常运行?我基本上执行以下操作来创建 *class 和 *jar。两个Java类,MAIN.java取决于SIDE.java两者的java文件包括package classes;头部(javac创建一个文件夹名为classes期权和看跌期权MAIN.class,并SIDE.class在那里):javac -d . SIDE.java MAIN.java
jar cvfe MAIN.jar classes/MAIN classes/*.class我尝试同时运行:java classes.MAIN -read number.logs和java -jar MAIN.jar -read number.logs并且它们都在 Ubuntu 上运行良好。这是否足够好并且可以在 MacOS 上运行?(我没有 MacOS,在这种情况下是否有模拟器可以用来检查事情?)
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
Java 是跨平台的,这是有原因的。您的 Java 代码被翻译成 Java 字节码(您的.class
文件),而JVM
(Java 虚拟机)是一台运行您的字节码的机器。
此 JVM 随您的操作系统上的 Java 安装一起提供。因此,如果您可以安装 JRE(包括 JVM),您就可以运行您的代码。
有一个例外,Java 语言有时使用操作系统标准来表示图形(awt 类),因此您的程序(如果您使用这些类)可能看起来不同,但工作方式相同。
例如,操作系统如何保存文件,由 JVM 处理,作为高级开发人员,您不必担心,除非您遇到操作系统端的限制。根据具体情况,这些限制由异常处理。如果你在你的代码中处理异常,那么如果它在另一个操作系统上工作,几乎没有什么在一个操作系统上不起作用。
添加回答
举报
0/150
提交
取消