Chinaunix首页 | 论坛 | 博客
  • 博客访问: 663994
  • 博文数量: 220
  • 博客积分: 10487
  • 博客等级: 上将
  • 技术积分: 2072
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-09 00:25
文章分类

全部博文(220)

文章存档

2012年(5)

2011年(38)

2010年(135)

2009年(42)

我的朋友

分类: Java

2009-10-11 13:52:16

JSR 292 - 支持动态语言的下一步


JSR 292 旨在解决试着将一个方钉-动态结构语言的方法调用-放入一个圆孔-基于静态结构的Java字节码需求的问题。为此为JVM引入新的java字节码指令,invokedynamic,和一新的method linkage mechanism.

方法调用的字节码指令

从最初Java 虚拟器指导书便指出四种方法调用字节码:
  • invokevirtual - 调用类的方法. 这是方法调用的典型方式.
  • invokeinterface - 调用接口的方法.
  • invokestatic - 调用类的静态方法. 这是唯一一种缺少接收者参数的调用.
  • invokespecial - 没有接收者引用类型的调用.这种方式的方法调用可以使构造函数,父类方法或私有方法.
这里我们研究两种字节码:invokevirtual,因为它是方法调用最典型的方式;invokeinterface,因为它同新的invokedynamic指令类似。

invokevirtual

...待续

阅读(532) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~