JVM调优作业
有以下程序:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class GCTest {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(30);
while (true) {
executorService.execute(GCTest::alloc);
}
}
private static void alloc() {
User user = new User();
user.id = 1;
user.name = "zhangsan";
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class User {
/**
* 1m对象
*/
private Byte[] bytes = new Byte[1024 * 1024];
Integer id;
String name;
}
JVM参数:
-Xms1536M -Xmx1536M -Xmn512M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
该程序频繁发生full gc,请找出原因并给出优化方式,优化方式可以是JVM参数优化,也可以是对程序进行修改。请把寻找原因的过程记录到笔记中,并私发给组长,如过程中遇到问题,可以在群里提问。

记于阿紫的博客
← 返回文章归档