您的位置:首页 > 其它

JVM规范学习:签名多态性

2014-08-09 16:40 381 查看
本文翻译自:http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.9

一个方法是签名多态性方法,当且仅当满足以下条件:

在java.lang.invoke.MethodHandle class中声明。
具有唯一的形参:Object[]。
返回值类型为Object。
设置了
ACC_VARARGS

ACC_NATIVE
标记。


在Java SE7中,唯一的签名多态性方法是MethodHandle 中的invoke and invokeExact。


在JVM中的为了对一个method handle的调用施加影响,invokevirtual指令对签名多态性方法进行了特殊的处理。一个method handle是一个类型化的,可以直接执行的引用,这个引用指向一些底层方法,或者构造函数,或者字段或类似的底层操作,并且带有可选的返回值和参数的转换。这些转换非常一般,如:conversion,
insertion, deletion, and substitution。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: