对于Jvm字段描述符,如此链接所示:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3.2
它使用Z来描述布尔类型,J用于描述long,L用于类实例。
谁知道为什么?
我的意思是我注意到B已经被字节使用了,但为什么要用Z来表示布尔值?为什么不长期使用L和R作为参考?
但是,我不确定你是否会得到权威的答案。
J
有时在其他情况下使用比I
宽,因为它是下一个字母(类似H
为半int / short,或前一个字母给我)L
用于语言数据结构?Z
写了一封不会用于其他任何事情的信件。 C.F. Z
用于“Zulu”或GMT时间作为默认时间。BTW他们本可以使用b
作为布尔值,因为JVM区分大小写。
如果你看一下字节码的细节,很多选择看起来都是临时的,事后看来可能做得更好,但当时Java很新,而且一点都不清楚它会像它一样受欢迎。