Full GC
Full GC 基本都是整个堆空间及持久代发生了垃圾回收,所采用的是标记-清除算法。
现实的生活中,老年代的人通常会比新生代的人 “早死”。...程序还在继续运行, 又会产生新的对象放入到Eden区, 当Eden区又被放满了, 就会再次出发GC, 此时会寻找Eden+sruvivor(一个区域)中的GC Root, 将其标记,
没有被引用的对象被回收...分代年龄+1
这样运行, 直到分代年龄为15(默认15,可设置)时, 也就是GC发生了15次还活着的对象, 就会被放到老年代.
通常什么样的对象会被放到老年代呢?...new ArrayList(): 是放在堆中的一个对象
new User(): 在堆中构建一个新的User对象, 并将这个对象添加到new ArrayList()中....Stop The World
在发生GC的时候, 会发生STW, Stop the world. 那么为什么一定要stop the world呢? 不Stop the world可不可以呢?