天天看點

記憶體調優執行個體:JVM堆大小

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 -