2011-04-26 76 views

回答

2

通常,Java程序通过调用Java字节码解释器来运行,例如,

java -cp myprogram.jar 

这对任何支持JDK的平台都有效(至少在理论上)。

但是一些程序(如Eclipse)添加平台特定的代码,以便它看起来更好,在Windows/Mac上运行得更顺畅。

这通常通过.jar文件中的.exe包装来完成。

所以总结起来:

程序,提供一个.exe文件(或的.app)文件中直接执行不是100%的Java。

1

您是否熟悉gcj?这是将Java代码编译成可执行文件的一种方法。还有其他的方法。

+0

不!现在我很高兴听到它。你知道那个使用gcj的着名项目吗? – Yakob 2011-04-26 22:26:35

2

看起来像一个安装.exe给我,而不是项目本身。我只是下载并运行它。它将代码安装到我的系统中;这是所有的Java下面。

貌似起动器是一个.exe文件太多,但它是使用Java Swing的UI:

PDF Split and Merge basic 
Version: 2.2.1 
Console version: 2.4.0e 
Developed by: Andrea Vacondio 
Build date: 31-Oct-2010 
Java home: C:\Program Files\Java\jre6 
Java version: Java(TM) SE Runtime Environment 1.6.0_21-b07 
Max memory: 247Mb 
Configuration file: C:\Program Files\pdfsam\pdfsam-config.xml 
Website: http://www.pdfsam.org 
-1

当然,还有各种方式将汇编成可执行文件进行优化的Java程序。请记住,这意味着它是专门针对该平台编译的。正如你正确地指出的那样,Java的优点(只写一次,在任何地方运行)都会丢失。但是,如果您希望运行一个封闭的系统来控制硬件和服务器环境,那么提取每盎司的性能可能很重要。

0

最有可能这个应用程序只是一个可执行的启动程序,而不是用所有必要的参数调用java虚拟机。一些软件,你可以看看这样做是:

  1. JSmooth
  2. Jar2Exe
  3. Launch4j

这个网站解释了很多关于可执行Java文件。 http://www.excelsior-usa.com/articles/java-to-exe.html

0

您链接到的项目包括启动JVM的批处理文件(Windows)和shell脚本(* nix)。如果你查看bin目录,你会看到它们。

相关问题