求教一个关于JAVA垃圾回收的问题

这题为什么选E,有哪4个,为什么,求教,谢谢

i3 = i1; ----------i3指向的对象没有被引用
i3指向了i1所执行的对象
i1 = i2; ----------i1指向了i2所指向的对象
i2 = null;---------i2没有指向任何对象
i3 = i1; ----------此时i1执行了指向的i2开始指向的对象
i3此时也指向了i2开始指向的对象
i1开始执行的对象没有被引用

此外,问题是此2个对象在heap中还建有2个Long对象,因为这里是Long,用的包装器;如果是long那又是另一回事了

问题是此时Long不会自动解包的呀,Long依旧还一个对象,所以我认为是4个对象

如果能帮助到你,我感到很欣慰,同时记得采纳我的回答
温馨提示:答案为网友推荐,仅供参考
相似回答