类的简单名称
Thread
类全名、二进制名、全限定名
是一个东西。
类全名:java.lang.Thread
(用于日常的沟通表达)
二进制名:java.lang.Thread
(Java 语言规范中的定义)
全限定名:java/lang/Thread
(class 文件结构中的二进制名格式,在描述符中使用,只有非数组引用类型有)
由于历史原因,class 文件结构中的二进制名格式,跟 java 语言规范中定义的二进制名格式有所不同。
- Java 语言规范中定义的二进制名格式,使用
.
作为分隔符。 - class 文件结构中的二进制名格式,使用
/
作为分隔符。
描述符
分为字段描述符、方法描述符。
字段描述符,其实就是类型描述符,分为原始类型描述符、非数组引用类型描述符、数组引用类型描述符。
- 原始类型描述符:
C、D、F、I、J、S、Z
- 非数组引用类型描述符:
L全限定名;
- 数组引用类型描述符:
[自己元素类型的描述符
如:
int 的描述符:I
Thread 的描述符:Ljava/lang/Thread;
Thread[][][] 的描述符:[[[Ljava/lang/Thread;
(是几维数组,就有几个 [
)
参考:
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.2
https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.1