JVM中ldc代表什么?

7

ByteCode:ldc将一个字长的常量推送到操作数栈上。 ldc只有一个参数,即要推送的值。

JVM中的大多数字节码都可以通过代码描述来确定其名称。然而,对于ldc,我没有看到任何线索。


1
http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ldc - Jeffrey Bosboom
2个回答

9
它是一个加载常量池中的项到堆栈的指令。可用类型有:
  • int
  • float
  • java.lang.String
  • java.lang.Class
Java 7 JVM 添加了 java.lang.invoke.MethodTypejava.lang.invoke.MethodHandle
特殊变体 ldc2_w 将一个 longdouble 类型的项加载到堆栈上。

6
我猜想它是“负载常数”,但我没有任何参考资料。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接