g1和cms是两种不同的技术,适用于不同的场景。
g1是一种垃圾回收器,而cms是一种垃圾回收算法。
g1采用了分代回收的方式,将堆内存分为多个区域,并且每个区域都有一个独立的回收器。
这样可以将回收的压力分散到多个回收器上,提高了回收的效率。
g1适用于大内存应用场景,可以在较短的停顿时间内回收大量的垃圾。
而cms则是一种并发标记清除算法,它在垃圾回收过程中会和应用程序并发执行,减少了停顿时间。
cms适用于对停顿时间要求较高的应用场景,比如实时系统或者用户交互较频繁的应用。
除了g1和cms,还有其他的垃圾回收器和算法,比如串行回收器、并行回收器等。