jvm - ldc 如何将字符序列转换为 String 对象?

标签 jvm bytecode bytecode-manipulation

在java字节码中,字符串常量作为字符序列存储在常量池中。我很好奇 jvm 如何将其转换为字符串对象,以及是否有办法利用它来存储您想要存储在常量池中的其他对象类型。

最佳答案

这是一个实现细节,不,您不能将其用于其他类型。

最有可能的是,它只是遍历 utf8info,将所有内容解码为 utf16 代码点,并将它们分配到数组中的某个位置。这不是火箭科学。

关于jvm - ldc 如何将字符序列转换为 String 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201070/

相关文章:

java - 内存不足,Java 运行时环境无法继续

java - 对 CPU 使用率非常高的 Java 进程进行故障排除 - Tomcat 应用程序

java - JVM存在的原因

Java .class 文件结构 - InnerClasses 属性

java - 字节码:LOOKUPSWITCH 和 TABLESWITCH

java - 条件 JIT 编译

关于使用 Java 14 生成的 .class 的 Java 问题

python - 修改python字节码

Java 字节码操作和 Java 反射 API?

java - 使用 ASM4 重新映射标签