Java语言规范对有效方法名称中的字符进行了限制,以帮助解析Java语言。
JVM设计为能够支持Java以外的其他语言。因此,限制不应相同;除非我们要强制所有非Java语言都具有相同的限制。为JVM选择的限制是允许对方法签名进行明确解析的最小设置,这种格式出现在JVM规范而非JLS中。
取自JVM
Spec
a name must not contain any of the ASCII characters . ; [ / < > :
也就是说,以下是有效的JVM签名
[Lcom/foo/Bar;,并且其特殊字符已从方法名称中排除。
<>进一步保留了将特殊的JVM方法与应用程序方法分开的方法,特别是
<init>和
<clinit>,这都是JLS不允许的方法名称。



