Toggle navigation
KANG's BLOG
Home
JAVA
MYSQL
KANG's BLOG
Let's have some fun
GC优化常用手段
1. 降低进入老年代的对象数量 除了可以在JDK 7及更高版本中使用的G1收集器以外,其他分代GC都是由Oracle JVM提供的。 关于分代GC,就是对象在Eden区被创建,随后被转移到Survivor区,在此之后剩余的对象会被转入老年代。也有一些对象由于占用内存过大,在Eden区被创建后会直接被传入老年代。 老年代GC相对来说会比新生代GC更耗时,因此,减少进入老年代的对象数量可以显著降低Full GC的频率。你可能会以为减少进入老年代的对象数量意味着把它们留在新生代,事实正好相反,新生代内存的大小是可以调节的。 2. 降低Full GC的时间 Full GC的执行时间比Minor GC要长很多,因此,如果在Full GC上花费过多的时间(超过1s),将可能出现超时错误。
Posted by KANG's BLOG Tuesday, March 15, 2022
FEATURED TAGS
database
distributed
http
java
jvm
lock
mq
mysql
nginx
ratelimiter
redis
tomcat
zookeeper
事务
多线程
架构
设计模式