Java跨平台吗?

AMH*_*AMH 24 java cross-platform

我想开发一个跨平台的应用程序.

Java跨平台吗?我的意思是,我可以在Windows中开发Java应用程序并在Mac OS X和Linux中使用它吗?

如果有,怎么样?

我发现用Java编写的应用程序有两个安装文件,一个用于Windows,另一个用于Mac.这让我很困惑.

任何插图或建议将受到高度赞赏.

aio*_*obe 43

Java是一个跨平台吗?

Java是跨平台的,因为编译的 Java程序在存在JVM的所有平台上运行.(适用于所有主要操作系统,包括Windows,Mac OS和Linux.)

我的意思是我可以在Windows中开发Java应用程序并在mac和Linux中使用它?

是的,这是可能的.

这(以及安全方面)是在虚拟机中运行程序的主要优点之一.

如果有,怎么样?

  • 用Java编写应用程序(在.java文件中)
  • 使用Eclipse或javac编译应用程序(到.class文件中)
  • (可选)将.class文件捆绑在可执行文件(.jar文件)中

.jar可以在Windows系统,Mac系统等上分发和执行相同的文件.

我找到用Java编写的应用程序,有两个用于windows的安装文件,另一个用于mac.这让我很困惑.

这是因为某些应用程序依赖于特定于平台的功能.然后将它们与不同的平台特定库捆绑在一起.

除非您正在开发一个本身依赖于特定于平台的功能的应用程序(例如低级系统调用),否则您应该可以使用普通的Java做得很好.

重要评论@Peter Lawrey:

它可以是应用程序独立于平台的,而安装程序则不是.例如,IntelliJ有三个特定于平台的安装程序,这些安装程序不是用Java编写的,但是有一个zip,您可以在任何平台上解压缩它并且它可以工作.

  • @AMH,可能是应用程序是平台独立的,安装程序不是.例如,IntelliJ有三个特定于平台的安装程序,它们不是用Java*编写的,而是有一个zip,您只需在任何平台上解压缩它就可以工作. (5认同)
  • 这只是因为它们可能依赖于以本机方式与操作系统交互的低级库.因此,除非您依赖某些特定于Linux的系统调用等,否则您应该可以为每个系统提供一组类文件. (2认同)