Javap Asciz Strings

关于javap命令生成的关于常量池的输出的小问题.
当javap打印池时,它将字符串常量定义为Asciz字符串,我理解这意味着null终止Ascii:

const #20 = Asciz       hello world;

这意味着字符串的长度是未知的,并且要解析,您将读取每个字节,直到遇到null.

但是,常量池字符串常量的长度由字符串前面的两个字节定义,并且不会附加空值. (Constant pool specification).

javap是否将字符串定义为Asciz不正确,或者Asciz是否有另一种我不知道的含义?

最佳答案
bug #6868539.它已在OpenJDK7中修复,现在javap打印Utf8.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...