在gc没回收前是四个对象,回收后就是三个对象了。所以说可以是四个对象也可以是三个对象,要看在哪个层面上描述这个问题。String a=new String("aa")这里会有两个对象,一个是new出来的内存空间,一个是放到了String池中,而String b=new String("aa")也会生成两个对象,只是new出来的这个内存空间没有被使用,jvm会将b指向之前a放到池中的"aa",所以bnew出来的内存空间没有被使用到,就会被gc回收
String a=new String("aa")String b=new String("aa")到底有几个对象?
最新推荐文章于 2024-09-02 07:15:00 发布