• 技术文章 >Java >java教程

    Java字节码执行的两种方式是什么

    WBOYWBOY2023-04-28 09:34:06转载30

    1、说明

    (1)即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。

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

    常用的是第二种方法。因为JVM规范描述有足够的灵活性,所以它可以更高效地将字节码转换成机器码。对那些对运行速度有更高要求的应用程序,可以使用解释器将Java字节码立即编译成机器码,从而很好地保证了Java代码的可移植性和高性能。

    2、实例

      public static void main(java.lang.String[]);
        descriptor: ([Ljava/lang/String;)V
        flags: ACC_PUBLIC, ACC_STATIC
        Code:
          stack=2, locals=4, args_size=1
             0: iconst_1
             1: istore_1
             2: iconst_2
             3: istore_2
             4: iconst_1
             5: iconst_2
             6: invokestatic  #2                  // Method calc:(II)I
             9: istore_3
            10: return
            
      static int calc(int, int);
        descriptor: (II)I
        flags: ACC_STATIC
        Code:
          stack=6, locals=2, args_size=2
             0: iload_0
             1: i2d
             2: ldc2_w        #3                  // double 2.0d
             5: invokestatic  #5                  // Method java/lang/Math.pow:(DD)D
             8: iload_1
             9: i2d
            10: ldc2_w        #3                  // double 2.0d
            13: invokestatic  #5                  // Method java/lang/Math.pow:(DD)D
            16: dadd
            17: invokestatic  #6                  // Method java/lang/Math.sqrt:(D)D
            20: d2i
            21: ireturn

    以上就是Java字节码执行的两种方式是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:亿速云,如有侵犯,请联系admin@php.cn删除
    专题推荐:Java
    上一篇:Java中RandomAccessFile类怎么随机访问 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Java RabbitMQ高级特性实例分析• PHP和Java des的加密解密实例分析• 怎么使用Java实现先查询缓存再查询数据库• java如何使用Byte数组反转字符• Java的package包怎么用
    1/1

    PHP中文网