JVM 性能调优 在高性能硬件上部署程序,目前主要有两种方式: 通过 64 位 JDK 来使用大内存; 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源。 使用 64 位 JDK 管理大内存 堆内存变大后,虽然垃圾收集的频率减少了,但每次垃圾回收的时间变长。 如果堆内存为 14 G,那么每次 Full GC 将长达数十秒。如果 Full GC 频繁发生,那么对于一个网站来说是无法忍受的。 对于用户交互性强、对停顿时间敏感的系统,可以给 Java 虚拟机分配超大堆的前提是有把握把应用程序的 Full GC 频率控制得足够低,至少要低到不会影响用户使用。 可能面临的问题: 内存回收导致的长时间停顿; 现阶段,64 位 JDK 的性能普遍比 32 位 JDK 低;