java - Java如何保留/使用内存?

标签 java macos jvm

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

不久之后,砰的一声,我的操作系统通知我我的启动盘快满了。我检查了我的进程,没有 OOM 异常,只是它停止了。检查了我的 Activity 监视器,没有说应用程序以全内存容量运行。

JVM 是如何预留/使用内存的?

最佳答案

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

关于java - Java如何保留/使用内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21395408/

相关文章:

java - 运行 JAR 时如何设置环境变量选项?

python - 使用备用 LAPACK/BLAS 在 Mac OS X Mavericks 上安装 numpy

java - ActiveMQ:没有合适的日志构造函数

java - 在Java中,后自增操作到底发生在什么时候呢?

intellij-idea - "IDE has not been initialized yet"说 CLion/PyCharm/IntelliJ 无法启动

java - 关于java的5个问题

java - 在无 CSS 的 HTML 中提取两个 <hr> 标签之间的文本

java - 使用 Spring Web 服务时的 Enum 类型转换

java - printf 与参数后给出的字符串串联不起作用

macos - Safari 在 macOS High Sierra 上忽略/etc/hosts