java - 将 JDK 从 32 位升级到 64 位

标签 java

我有一个在 Windows Server 2008(32 位)上运行的使用 JDK 1.7 的程序。如果我想将程序重新部署到最新的Windows Server(64位),我是否需要重写程序还是只需进行微小的更改即可?

非常感谢!

最佳答案

简短回答

,您不应该需要更改代码。您甚至不需要重新编译它。只需运行您的 JAR/类,它应该可以正常工作。

您没有提供有关您的申请的太多详细信息,因此我请您阅读长答案以获取更多信息,因为其中的注意事项可能会对您将来有所帮助。

长答案

Java 编译器生成 bytecodes随后由 JVM 解释。 JVM 将字节码翻译为 native 命令。 JVM 将完成“艰苦的工作”,而您可以专注于一个程序。 Java 平台是独立于平台的,因此如果您要从 32 位 Windows 升级到 64 位 Windows,则不需要更改代码。

一如既往,有一些异常(exception),超出了 32/64 位的情况。我将列出一些例如:

  • 在 Linux 和 Windows 中使用持久性时断行(MS 文件通常有回车符)
  • 使用 JNI 来使用 native 库(这可能会影响 32/64 位程序)
  • 不同操作系统使用的字体
  • 也许是一些 Java 错误,但可能性很小

作为一般实践,如果您要跨平台应用程序,请尝试找到程序的“边界”。您什么时候必须去应用程序“外部”寻找特定的操作系统资源?

即使您的程序运行在应用程序服务器(例如 JBoss)中,您也不需要更改代码。

我认为您的程序无需任何更改即可正常工作,只需记住可能存在异常(exception)情况。

关于java - 将 JDK 从 32 位升级到 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794104/

相关文章:

java - java中根据输入字符串名称返回对象

java - Spring云配置从AWS S3加载客户端bootstrap.properties

java - 实现日志记录

java - Tika in Action 书中的示例 Lucene StandardAnalyzer 不起作用

java - 将单元格放置在网格(表)中的算法

java - 如何将自定义 LifecycleStrategySupport 应用于 Camel 上下文

java - ReSTLet 多 Filter 实现

java - 16 位时间戳转 Java 日期格式

java - ED A0 80 ED B0 80 是有效的 UTF-8 字节序列吗?

java - 在构造函数内调用另一个构造函数和父级的构造函数