java中的MethodHandler入门

Posted strongmore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的MethodHandler入门相关的知识,希望对你有一定的参考价值。

介绍

MethodHandler,翻译过来就是方法句柄,是java7提供的jsr292的一部分,为了支持动态方法的调用,主要是java.lang.invoke包。

使用

public class Client {
  public static void main(String[] args) throws Throwable {
    MethodHandles.Lookup lookup = MethodHandles.lookup();
//获取String类中静态方法valueOf对应的方法句柄
    MethodHandle valueOfMethodHandler = lookup.findStatic(String.class, "valueOf", MethodType.methodType(String.class, int.class));
//执行方法句柄
    String result = (String) valueOfMethodHandler.invokeExact(12);
    System.out.println(result);
  }
}

Lookup可以简单看做查找方法句柄的工具,MethodType表示一个方法类型,包括返回值和参数列表。方法句柄相对于反射来说,更加的轻量级。

以上是关于java中的MethodHandler入门的主要内容,如果未能解决你的问题,请参考以下文章

LockSupport.java 中的 FIFO 互斥代码片段

如何理解这段代码片段中的两对括号?

反射机制入门

反射机制入门

javaweb入门-----jsp概念

推荐net开发cad入门阅读代码片段