gpt4 book ai didi

java - java编译时如何生成常量池索引

转载 作者:行者123 更新时间:2023-12-01 12:06:56 25 4
gpt4 key购买 nike

我对 java 类文件 (.class) 感兴趣如果我们使用javap查看.class文件,可以看到常量池信息。

#4 = Utf8               java/lang/Object
#5 = Utf8 <init>
#6 = Utf8 ()V
#7 = Utf8 Code

有索引#1,#2,#3,#4,#5,#6.......

java编译器将会对这些索引进行分类...索引号的生成有规则吗?是随机数吗?

最佳答案

Is there rules to generate index number?

如果您的意思是指定的规则(在 JVM 规范中),那么答案是否定的。

is it random number?

没有。如果您深入研究编译器源代码等,理论上您将拥有足够的信息来预测常量池条目的索引值。索引的分配看起来是随机的,但(我认为)它是完全确定性和可重复的。

但是,预测任意 Java 程序的索引(不编译它!)不太现实。

关于java - java编译时如何生成常量池索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27525857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com