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文件,您可以在任何平台上将其解压缩,然后就可以使用。



