java - Java 完全独立于平台吗?

标签 java

Java 完全独立于平台吗?

如果不是,那么需要注意的是,您的 Java 编写的代码可以在多平台上运行。基本上它应该可以在 Windows(各种版本)、Linux(所有风格)、Mac 和 Solaris 等目标平台上运行。

最佳答案

虽然在实践中,大多数编译后的字节码都是独立于平台的,但我在 Java 平台上开发 12 年的经验告诉我,平台之间仍然存在一些特性。

例如,在为 PC 和 MacOSX 开发 Java 1.4 Swing 应用程序时,如果父框架为空,则对话框的行为是不同的。

另一个例子可能是使用文件系统和一般文件。 Java API 有一些方法可以帮助开发人员避免路径分隔符(/\)的差异。写入文件时,务必按预期使用 FileWriter API,以便为正在写入的平台正确生成返回字符等。

因此,虽然座右铭是“一次编写,随处运行”,但我的经验是针对生产环境,它是一次编写,测试,无处不在。

因此,拥有强大的单元测试和集成测试可以对此有所帮助,因为您可以在要分发软件的各种平台上执行这些测试。

尽管有时会出现一些小问题,但看到您的代码使用相同的 JAR 在 Linux、Unix、Windows 和 MacOSX (BSD Unix) 上运行还是很酷的。

关于java - Java 完全独立于平台吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420779/

相关文章:

java - 如何打印二维数组使其看起来像网格/矩阵?

java - Maven 命令行构建与 Eclipse 不一致

java - SQLite识别长值

java - 将 java.lang.Object 转换为自定义对象引发 ClassCastException

java - 如何在 UML 序列图中表示接口(interface)列表上的循环?

java - write(byte[],int,int) 方法是如何工作的?

java - 向 void 方法添加返回参数会破坏现有功能吗?

java - 我该如何找到 `org.junit` 的路径?

java - 如何在 Eclipse 中将 .jar 标记为 "provided"

java - 如何在 Jelastic Tomcat 中引用 DLL 文件