不行,java语言是解释性的,必须先“编译”成字节码,后通过jvm执行。

解决方案 »

  1.   

    我觉得如果你不想得到jvm的好处,你最好选用其它语言。
      

  2.   

    不用jvm的话,那你编译出来的文件怎么执行了?如果直接编成可执行文件,可是每个平台的执行文件都不一样,那么是不是失去了跨平台的优点了?
      

  3.   

    应该不行吧,java最大的特点就是bytecode和virtual machine
      

  4.   

    当然可以了,用JET可以把类文件编译成exe文件,把类库转成dll,然后就可以直接执行,你要吗,我发给你.
      

  5.   

    好像可以使用jet,但是要带上它的dll,很大!
      

  6.   

    能否发给我一分jet? [email protected] thanks
      

  7.   

    用JET可以但是为什么?那样JAVA所有的优点都只剩下弱点了。
      

  8.   

    当然可以,以为java和c可以转化(某些情况下)自然可以编译成可执行文件了
      

  9.   

    No problem!But I don't know!
      

  10.   

    http://www-900.ibm.com/developerWorks/java/j-native/index.shtml这个文章对你有帮助。jet是一个不错的本地编译器
      

  11.   

    在WIN9X以及WIN-NT下JAVA应用程序的执行问题:
    在WIN9X以及WIN-NT环境下,目录c:\windows下有两个应用程序jview和wjview
    相当与JAVA中的JAVA和JAVAW,可以执行JAVA应用程序。
    但是有限制,就是你不能在程序中import任何非JAVA标准库,也就是说你除了能
    import java...外,不能导入任何JAVAX的库。连SWING都不能用。如果你用了,
    就需要把所用的类打包在一起,但这样往往很麻烦,而且文件体积也很大!
    下面的程序在没有安装JDK的WINDOWS下双击批处理文件应该能执行:
    //young.class
    import java.util.Vector;
    public class young
    {
        public static void main(String args[])
        {
            int i=-67;
            int a=i>>1;
            System.out.println(i + ">>1 is: " + a);
            Vector v=new Vector();
            for(i=0; i<10; i++)
               v.addElement(new String("asijdflejfj"));
            for(i=0; i<10; i++)
               System.out.println(v.elementAt(i));
       }
    } 批处理文件:jview young  (注:一般的系统PATH是c:\windows,所以系统可以自动找到jview)
    而且有时连JAVA标准包里面的类都不支持,比如说:java.util.HashSet;
      

  12.   

    可以的.工具有多种.
    1. 你可以用jet,这种工具可以将你的.java文件生成.exe文件,再执行的时候就不需用jvm了;
    2. 你可以用微软的c#把java程序生成可执行文件.exe;
    3.另外还有很多这种工具,比如basic,turbo pascal等等(具体请参考csdn专家栏
       的蔡学镛的文章;
    一点建议:
       如果你想让你的java程序失去跨平台的特性,提高运行效率,就可以采用这种方法,如果你的JAVA项目必须要用到跨平台的特性,最好不要这么做.