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

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


String s=  "abc";

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

  • 写回答

1条回答 默认 最新

  • 普通网友 2021-09-22 17:48
    关注

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 创建了问题 9月22日