Java教程

jvm java 方法描述符的解析

本文主要是介绍jvm java 方法描述符的解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

()V
(D)Ljava/lang/Double;
(Ljava/lang/Object;)V
(ILjava/lang/String;DFZ)V
(D)Ljava/lang/Double;
(D)Ljava/lang/Double;
(I)Ljava/lang/Integer;
()J

 

在解析class文件中的方法时,会解析出上面的字符串,每一行代表描述一个方法的入参类型,数量和返回值

基本规则

(这里的是方法的参数)这里的是方法的返回值

栗子:

int test(int a)

解析出来是

(I)I

 

int test(int a,double x)

解析出来是

(ID)I

 

上面的栗子用的是基本的数据类型,如果是类-类型(引用类型)就是这样

栗子

int test(int a,String s)

解析出来是

(Ijava/lang/String;)I

是不是超简单啊?来吧 贡献代码吧。。。

https://github.com/anons-org/nada

 

数据类型在JVM中的定义

 

B byte
C char
D double
F float
I int
J long
S short
Z boolean
V void
L 对象类型,如Ljava/lang/Object

 

对于数组类型,每一个维度都是使用一个前置的"["字符来描述,如 [Ljava/lang/String , 或者 [[I

 

这篇关于jvm java 方法描述符的解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!