在一本软考书上看到说Java是以解释的方式进行翻译程序的
而我个人觉得应该是以编译的方式进行
网上查到两种说法都有的
求正确结论及原因!谢谢!

解决方案 »

  1.   

    那要看java虚拟机是怎么写的,不同厂家的jvm实现方式不尽相同有些是解释执行
    有些直接用芯片执行
    有些在jvm中编译成本地代码执行还有些是这些的结合都是可以的
      

  2.   

    先把源码编译成.class字节码 在把.class弄到内存里面解释执行
      

  3.   

    先通过JAVA编译器把.java文件编译成bytecode,然后通过bytecode interpreter
    (字节码解释器)进行执行。
    java源程序到class文件,是编译的;
    class文件的执行,在过去有些年是解释执行的,这些年考虑速度和线程等问题,jvm将其编译成本地平台指令,;新的虚拟机,是解释+编译的,解释发生在java字节码到本地平台指令,解释优化一次,(保留,以后就是编译的了!);个人理解!!
      

  4.   

    java字节码的执行有两种方式:
    1) 即时编译方式:解释器先将字节编译成机器码,然后再执行该机器码

    2)解释执行方式:解释器通过每次解释并执行一小段代码来完成java字节码程序的所有操作。