福哥答案2020-11-18:
HotSpot 虛擬機提供了-XX:PretenureSizeThreshold 參數,指定大於該設置值的對象直接在老年代分配,這樣做的目的就是避免在 Eden 區及兩個 Survivor區之間來回復制,產生大量的內存復制操作。
這樣做的目的:1.避免大量內存復制,2.避免提前進行垃圾回收,明明內存有空間進行分配。
PretenureSizeThreshold 參數只對 Serial 和 ParNew 兩款收集器有效。-XX:PretenureSizeThreshold=4m。