如果程序优化到极致,但是还是感觉性能比较低,JVM的优化就要提到日程上
一、调整堆内存大小
JVM存在两种内存:栈内存和对内存,栈内存的特点是空间比较小,速度比较快,用来存放对象的引用和程序的基本类型;堆内存的特点是空间比较大,速度慢,一般对象都在里生成、使用和消亡
栈空间由线程开辟,线程结束,栈空间由JVM回收,因此它的大小一般不会对性能有太大的影响,但是还是影响系统的稳定性,在超过栈内存容量时,系统会报*error异常,可以通过java-Xss设置栈内存大小来解决此类问题。堆内存的调整不能太随意,太小full gc会很频繁,太大浪费资源,二是影响稳定性,32位机器上超过1.8G就会出现各种各样的莫名其妙的问题
二、调整堆内存个分区的比例
三、变更GC垃圾回收的策略
四、更换JVM(Hotspot、 oracle、IBM)