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 -