看到下面的文章,G1 收集器在高版本 Java 中优化很大。
https://blogs.oracle.com/javamagazine/post/java-garbage-collectors-evolution
吞吐量: As you can see, the throughput scores increase significantly simply by moving to later JDK releases. JDK 11 improves by around 5% and JDK 18 by around 18%, respectively, compared to JDK 8
延迟: 设置最大停顿时间为 200ms As you can see, the throughput scores increase significantly simply by moving to later JDK releases. JDK 11 improves by around 5% and JDK 18 by around 18%, respectively, compared to JDK 8
设置最大停顿时间为 50ms
JDK8 200ms | JDK11 200ms | JDK18 200ms | JDK18 50ms | |
---|---|---|---|---|
Average (ms) | 124 | 111 | 89 | 44 |
P99 (ms) | 176 | 134 | 104 | 56 |
Relative collection time (%) | n/a | -15.8 | -34.4 | +0.06 |
内存占用
With JDK 8, after a short warmup period, G1 native memory usage settles at around 5.8 GB of native memory. JDK 11 improved on that, reducing the native memory footprint to around 4 GB; JDK 17 improved it to around 1.8 GB; and JDK 18 settles at around 1.25 GB of garbage collection native memory usage. This is a reduction of extra memory usage from almost 30% of the Java heap in JDK 8 to around 6% of extra memory usage in JDK 18.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.