1、创建一个Spring Boot实例
@RestController
public class GcTestController {
private Queue<Greeting> queue = new ConcurrentLinkedQueue<>();
@RequestMapping("/greeting")
public Greeting hello() {
Greeting greeting = new Greeting("Hello world!");
if(queue.size()>200000){
queue.clear();
}else{
queue.add(greeting);
}
return greeting;
}
}
class Greeting{
private String message;
public Greeting(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
备注:这样一个代码竟然在controller里开辟了一个队列用来存放对象,这个队列在达到20万的容量后才会清空。这些对象会驻留在老年代,用来模拟老年代的gc情况。
2、命令行启动程序
java -Xmx32m -Xss256k -