Jiv*_*ngs 5 java bytecode class javap
javap关于常量池命令生成的输出的小问题.当javap打印池它定义字符串常量为Asciz字符串,我的理解方式null终止ASCII:
const #20 = Asciz hello world;
Run Code Online (Sandbox Code Playgroud)
这意味着字符串的长度是未知的,并且要解析您将读取每个字节,直到您遇到null.
但是,常量池字符串常量的长度由字符串前面的两个字节定义,并且没有null附加.(常量池规范).
是否javap将字符串定义为Asciz错误或Asciz具有我不知道的其他含义?