|
|
1
17
(我模模糊糊地记得,Java7在“小jar文件”方面的工作包括一个用于整个jar文件的字符串池。。。但我可能大错特错。) 编辑:JVM规范第5.1节, "The Runtime Constant Pool" 详细说明如下:
|
|
|
2
0
JLS和JVM规范指定javac对类文件的编译,这些类文件包含常量声明(在常量池中)和代码中的常量用法(javac可以内联为原语/对象引用值)。对于编译时的字符串常量,编译器生成代码来构造字符串实例,并为它们调用String.intern(),这样JVM将自动调用字符串常量。这是一个 行为的 JLS要求: http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28
但是这些规范既没有概念,也没有定义任何特定的字符串内部池结构/引用/句柄,无论是编译时还是运行时(当然,一般来说,JVM规范并不要求对象具有任何特定的内部结构: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.7 之所以没有提到intern池结构,是因为它们完全由String类处理。intern pool是String类的私有静态/类级结构(JLS&未指定);JVM规范;javadoc)。
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |