gc root 记住有四个就行了,虚拟机栈中引用的对象,本地方法栈中引用的对象,方法区引用的静态变量,方法区引用的常量。 CMS 和 G1 相比的问题就在于会有内存碎片,没有什么具体的解决方案,但是有个参数可以打开,就是经过多少次 full gc 之后就要进行一次整理