Đặt -Xmx512m, chưa làm gì cả, tiến trình đã chiếm 111MB RAM
Native Memory Tracking chỉ ra từng vùng bộ nhớ JVM, vì sao 500 luồng đặt chỗ 1GB mà chỉ dùng 37MB, và năm kiểu hết bộ nhớ với năm thông báo khác nhau.
Native Memory Tracking chỉ ra từng vùng bộ nhớ JVM, vì sao 500 luồng đặt chỗ 1GB mà chỉ dùng 37MB, và năm kiểu hết bộ nhớ với năm thông báo khác nhau.
ThreadLocal dùng để làm gì, hai cái bẫy khi có pool luồng — rò dữ liệu giữa các request và giữ lại 110MB sau GC — và ScopedValue của Java 21.