Java如何保留/使用内存?

goh*_*goh 5 java macos jvm

这可能是一个noob问题,但我需要运行一个处理大型数据集的java应用程序.所以我去了-Xmx14G,知道我的机器有16G的物理内存.

不久之后,繁荣,我的操作系统通知我,我的启动盘几乎已满.我检查了我的进程,没有OOM异常,只是它停滞了.检查我的活动监视器,并未说应用程序以完全内存容量运行.

JVM如何保留/使用内存?

Ste*_*Kuo 0

通常,JVM 会分配新内存,直到堆满为止,在这种情况下,它会进行垃圾收集,释放未引用的对象。如果您为堆分配了 14GB,那么它很可能会消耗那么多内存。