卑微小童
2021-09-22 17:46
采纳率: 100%
浏览 29
已结题

jvm中的常量池与类文件中的常量池


String s=  "abc";

我们通过javap命令反编译出来的class文件中发现里面 class文件常量池中是存在 "abc"这个值的,那当class文件被加载到jvm中时,在运行这个指令之前,jvm不就应该已经有了这个字符串值了,为什么没有呢

  • 收藏

1条回答 默认 最新

  • kk1924 2021-09-22 17:48
    已采纳

    这个你要想想,实例变量和类变量!

    你说的那个是实例变量,在实例没有产生之前就没有存在,这个就可以解决你的问题了!

    而你反编译后,有存在,是指存在于class文件中,也就是说你定义过!

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题