有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

lambda什么是引导方法参数Java字节码

具有3个方法参数的引导方法:

SourceFile: "Class.java"
BootstrapMethods:
  0: #883 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
    Method arguments:
      #884 ()Ljava/lang/Object;
      #885 REF_invokeVirtual java/lang/Module.getClassLoader:()Ljava/lang/ClassLoader;
      #886 ()Ljava/lang/ClassLoader;

具有单参数的引导方法:

BootstrapMethods:
  0: #284 REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
    Method arguments:
      #285 \u0001\u0001
  1: #284 REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
    Method arguments:
      #290 \u0001 is not a \u0001

我已经开始研究Java字节码,想知道:

  • 什么是引导方法参数
  • 第一审的第二个论点似乎提到了 拉姆达表情。那是什么

注意: 这与如何确定对象是lambda无关。我只想通过检查字节码来理解什么是引导方法参数,以及它与lambda表达式的相关性


共 (1) 个答案