当我观察我的Java项目字节代码时,我看到以下字节代码:
java.lang.Object中.()V
java.lang.Boolean的.(Z)V
<init>()V和<init>(Z)V的含义是什么?
Mik*_*uel 13
Run Code Online (Sandbox Code Playgroud)java.lang.Object.()V
是一个不带参数的void method(V)java.lang.Object.
Run Code Online (Sandbox Code Playgroud)java.lang.Boolean.(Z)V
是空隙方法java.lang.Boolean采用单个boolean(Z因为BIS byte)参数.
简而言之,
abc.def.WXYZ(IIIIIIIIIIIIII)J
^ ^ ^
target_class argument-types return_type
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅JNI类型签名.
JNI使用Java VM的类型签名表示.表3-2显示了这些类型的签名.
表3-2 Java VM类型签名
Run Code Online (Sandbox Code Playgroud)Type Signature Java Type Z boolean B byte ... L fully-qualified-class ; fully-qualified-class [ type type[] ( arg-types ) ret-type method type例如,Java方法:
Run Code Online (Sandbox Code Playgroud)long f (int n, String s, int[] arr);具有以下类型签名:
Run Code Online (Sandbox Code Playgroud)(ILjava/lang/String;[I)J
| 归档时间: |
|
| 查看次数: |
4140 次 |
| 最近记录: |