问题和代码都在图片里呈现了,怎么解决
你是说把注释的这个代码打开也无法输出么
翻译:堆就是类似一个杂物间,是JVM干活时候创建的,可以自动分配,也可以自己指定要多大的杂物间(自己指定的一般是老年代存活对象的大小的3-4倍大小),JVM干活就是去通过一个个方法(栈帧)去执行一个个动作,有一些方法需要用到一些工具,例如斧头/电锯(大对象,数组等),那就去杂物间拿,没有人会身上随身携带着斧头电锯吧?所以JVM干活要记得斧头电锯在杂物间哪个位置(对象和数组的引用)。
堆就是一个杂物间,里面什么都有,堆被所有线程共享,也就是所有人都会往堆里放自己的物品,闲置物品多了就要清理,这就是JVM的垃圾收集子系统GC;闲置物品有分类,有的食物等闲置垃圾物品一天就会发臭,必须马上清理,有的属于无毒无害的垃圾,可以两天收一次,有的是还有用的旧物品,一般可以不用清理,所以这就是堆的分代。