概述
这篇文章可以说是整个笨蛋文档中编写历时最久的 (),为了确保正确性,我们在 Windows 和 Linux 上进行了大量性能测试,结果可以说是十分出人意料
这场测试的细节和日志,报告,Spark,GCLog 等可以在 Test - Java 找到
Java 选择
Section titled “Java 选择”flowchart TD
A[选择]
A --> Java8
A --> Java11
A --> Java21
Java8 --> Dragonwell
Java11 --> Dragonwell
Java21 --> Windows
Windows --> 内存充足
内存充足 --> C[GraalVM Enterprise Edition]
Windows --> 内存不足
内存不足 --> OpenJ9
Java21 --> Linux
Linux --> 内存不足
Linux --> D[内存充足]
D --> 好的兼容性
好的兼容性 -->|需要| C
好的兼容性 -->|不需要,需要有实力| E[Azul Zing]
Dragonwell 分为 Standard Edition 和 Extended Edition,推荐下载 Extended Edition
- 官网 下载区域选择
China Mainland - Dragonwell 8 预览
- Dragonwell 11 预览
GraalVM 分为 Community Edition (CE) 和 Enterprise Edition (EE),除非你服务器大到会被 Oracle 找上门,不然请选择 Enterprise Edition
推荐下载最新版,也就是 Java 24
Azul Zing 不能直接被下载,需要填写试用申请表,可以直接乱填
经过我们的多次测试,G1GC 和 ZGC 最适合 MC 服务器 (还有一个 Zing C4)
选择!
flowchart TD
A[选择]
A --> B[机器配置足够,起步4h8g,推荐8h8g]
A --> 机器配置不达标 --> G1
B --> C[Java 21+,或Dragonwell 11] --> ZGC
B --> 其他 --> G1
ZGC 的无停顿可以给玩家带来更好的体验,并且更充分的利用多核。
对于 GC 细节性的优化请阅读每个 Java 的优化指南