字节码与多语言混合编程

字节码与多语言混合编程

字节码:

  1. 我们平时说的Java字节码, 指的是用Java语言编译成的字节码,准确的说:任何能在JVM平台上执行的字节码格式都是一样的,所以应该统称为:JVM字节码
    • JVM字节码就不仅仅是可以是有Java语言编译而来了,JRuby等等很多语言都可以编译为JVM字节码文件,然后由JVM解析/编译执行
  2. 不同的编译器,可以编译出相同的字节码文件,生成的字节码文件也可以在不同的JVM上执行
    • JVM依靠操作系统, 这里指的不同的JVM是指的不同操作系统上的JVM
  3. Java虚拟机与Java语言并没有必然的联系, 他只与特定的二进制文件格式(Class文件格式)所关联
    • Class文件(字节码文件)包括:
      1. 字节码(bytecodes)
      2. 符号表
      3. 其他辅助信息

Class文件是二进制的, Class文件又称为字节码文件, "字节"也就是二进制

多语言混合编程:

Java平台上的多语言混合编程正在称为主流, 通过指定领域的语言去解决指定领域的问题, 是当前软件开发应对日趋复杂的项目需求的一个大方向

  • 一个项目中, 我们可以对并行处理使用Clojure语言编写, 展示层使用JRuby/Rails语言编写, 中间层则是使用Java编写, 每个应用层都将使用不同的编程语言来完成, 而且, 接口对每一层的开发者都是透明的==(在计算机中透明表示的是看不见的, 某种看不见的特性我们就可以说是透明的)==, 各种语言之间的交互不存在任何困难, 就像是使用自己语言的API一样方便, 因为它们最终都运行在同一个虚拟机之上

    • 对于这些运行在Java虚拟机之上, Java之外的语言, 来自系统级的底层的支持正在迅速的增强, 以JSR-292为核心的系列项目和功能改进(如: Da Vinci Machine项目, Nashorn引擎, Invoke Dynamic指令, Java.lang.invoke包等), 推动了Java虚拟机从"Java语言虚拟机向多语言虚拟机"方向发展

      • 方法句柄: 是JSR-292(JDK1.7)中引入的一个重要概念, 它是对Java中的方法, 构造方法和域的一个强类型可执行引用. 这也是句柄这个词的含义所在, 通过方法句柄可以直接调用该句柄所引用的底层的方法, 从功能上来讲, 方法句柄的作用就有点类似于反射中提到的Java.lang.reflect.Method类, 但是方法句柄的功能更加的强大, 使用起来也更加的灵活, 性能也更加的好, 实际上方法句柄是可以和反射中的Method类协同使用的, 在Java标准库中, 方法句柄是由Java.lang.invoke.MethodHandle类来表示的
        

补充:

JSR

JSR是JavaSpecification Requests的缩写,意思是“Java 规范提案”。是指向JCP(JavaCommunity Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。简单的就是jsr是java开发者以及授权者指定的标准,而java开发者以及授权者形成一个jcp国际组织。职能是指定java标准。

JCP

JCP由SUN于1995年创造Java的非正式过程,演进到如今有数百名来自世界各地Java代表成员一同监督Java发展的正式程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值