字节代码之间的差异。< init>()V vs。< init>(Z)V

编程入门 行业动态 更新时间:2024-10-11 07:34:55
本文介绍了字节代码之间的差异。< init>()V vs。< init>(Z)V的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

当我观察我的Java项目字节代码时,我看到以下字节代码:

When I observe my Java project byte code, I see the following byte code :

java.lang.Object。()V

java.lang.Boolean。(Z)V

什么是含义< init>()V 和< init>(Z)V

推荐答案

java.lang.Object.()V

是 java.lang上的void方法( V )。没有参数的对象。

is a void method (V) on java.lang.Object that takes no arguments.

java.lang.Boolean.(Z)V

是 java.lang.Boolean 接受一个布尔( Z ,因为 B 是 byte )参数。

is a void method on java.lang.Boolean that takes a single boolean (Z since B is byte) argument.

简而言之,

abc.def.WXYZ(IIIIIIIIIIIIII)J ^ ^ ^ target_class argument-types return_type

参见 JNI类型签名了解更多详情。

JNI使用Java VM的签名类型的表示。表3-2显示了这些类型签名。

The JNI uses the Java VM’s representation of type signatures. Table 3-2 shows these type signatures.

表3-2 Java VM类型签名

Table 3-2 Java VM Type Signatures

Type Signature Java Type Z boolean B byte ... L fully-qualified-class ; fully-qualified-class [ type type[] ( arg-types ) ret-type method type

例如,Java方法:

long f (int n, String s, int[] arr);

具有以下类型签名:

(ILjava/lang/String;[I)J

更多推荐

字节代码之间的差异。&lt; init&gt;()V vs。&lt; init&gt;(Z)V

本文发布于:2023-11-25 06:37:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1628697.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字节   差异   代码   amp   init

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!