现在听到有一些工具可以将java编译成本地代码,但不知会不会有问题。
比如,虚拟机可以做垃圾处理,如果编译成本地代码,会不会造成内存泄漏?
欢迎就这个问题作一些讨论。
没人愿意讨论吗?

解决方案 »

  1.   

    记得以前Visaul Cafe可以编译成exe文件,不过要带很多Dll,
    估计一种语言,要编译成可执行代码是非常简单的事,只要编译程序处理适当,内存泄漏是可以避免的。
      

  2.   

    你给分吗?
    jdk缺省是用jit,就是运行时候编译成本地代码,所以速度快。就是说,你直接用java.ere 或者jre.exe运行你的程序,就是先编译成本地代码的。我做扫毒引擎的时候,java版本用时只是C版本的1.3-1.6倍。
    至于编译成.exe文件,我用过VJ和jet.
    VJ很久以前用的,现在不清楚了。vj兼容性不好,不是pure java.
    jet编译了整个jdk,编译出来30多兆的.dll,要和.exe一起分发,所以没多大意思。
    至于内存泄漏,不可能的。垃圾收集是java本身的语言特性,不做垃圾收集就不是java了。
      

  3.   

    垃圾收集虽说是java本身的语言特性,可是它是靠java虚拟机中的一个守护线程完成的。一旦编译成本地代码,不就脱离了虚拟机环境了吗?
      

  4.   

    这方面,vb也是这么做的,用dll做虚拟机,p-code作中间语言,
    java作成这个是绝对没有问题的。