什么是Java方法的内部标识?

Jac*_*kWM 6 java methods function symbol-tables symbol-table

众所周知,在Java中,方法名称不足以区分不同的方法.

我认为(可能是错的),要区分方法,需要以下信息:

(className, methodName, methodParameters)
Run Code Online (Sandbox Code Playgroud)

进一步,

  • 如何在内部更有效地识别方法?
  • 我听说过"方法ID".这是否意味着上面的三元组和一个整数之间存在映射,因此JVM在解析后只使用方法ID?
  • 如果是这样,它是否位于符号表中?

谢谢!

Lau*_*ves 7

它是指向方法描述符CONSTANT_NameAndType_info结构.

它几乎由方法名称,参数类型和(有点令人惊讶的)返回类型组成.