5.1 概述
5.2 案例分析
5.2.1 高性能硬件上的程序部署策略
过大的堆内存进行回收时带来的长时间的停顿。
主要有两种方式:
1)通过64位JDK来使用大内存
2)使用若干个32为虚拟机建立逻辑集群来利用硬件资源
第二种做法比较稳健:使用若干个32位虚拟机建立逻辑集群来利用硬件资源。具体做法是在一台物理机器上启动多个应用服务器进程,每个服务器进程分配不同端口,然后在前端搭建一个负载均衡器。
32位虚拟机受到内存限制。在32位Windows平台中每个进程只能使用2GB的内存,在Linux中,受到4GB(2的32次方)内存的限制。
5.2.2 集群间同步导致的内存溢出
5.2.3 堆外内存导致的溢出错误
5.2.4 外部命令导致系统缓慢
5.2.5 服务器JVM进程崩溃
5.2.6 不恰当数据结构导致内存占用过大
5.2.7 由Windows虚拟内存导致的长时间停顿
5.3 实战:Eclipse运行速度调优
5.3.1 调优前的程序运行状态
5.4 本章小结
Java虚拟机的内存管理与垃圾收集是虚拟机结构体系中最重要的组成部分,对程序的性能和稳定性有非常大的影响。