这里有个矛盾点:如果想在数据库中缓存更多记录,就会产生更多 java 对象,从而导致 zgc 线程扫描可收集的 java 对象就越多,进而导致占用 cpu 的时间变多,最后反过来影响数据库并发的处理速度。
@zhh-4096
zgc 这个新的垃圾收集算法虽然把暂停时间降到了微秒级,但是面对高并发的场景,内存也会快速增长,这时几个 zgc 线程在收集垃圾的过程中也会占用不少 cpu 时间,从而导致应用线程获得的 cpu 时间变少,所以应用也变慢了。高并发压测数据库时,用 jstack 确实能看到 zgc 线程占用了很多 cpu 时间。
