java - 在运行时配置内存

标签 java

我感兴趣是否有一种方法可以动态增加或缩小Java占用的内存?我知道这通常是在应用程序启动时完成的,但在生产时看到这一点会非常酷。

最佳答案

JVM 已经做到了这一点。它根据使用情况调整堆大小,并且可以将内存返回给操作系统(尽管并非总是如此)

你无法改变的是最大值。您无法更改它的原因是它在启动时将此虚拟内存保留为单个连续 block ,这意味着它无法缩小或增长它。

给出的最大值就是这样,我建议设置为一个较高的值,您宁愿 JVM 失败也不愿分配更多内存。在这种情况下,调整这个恕我直言是没有意义的。

顺便说一句,我不建议设置最小大小,除非您非常了解应用程序的工作负载和使用情况(以及将来)。最小值通常是为基准设置的,已知应用程序的负载和版本,但这对于具有不同负载和随时间变化的代码的应用程序来说并不是一个好主意。

关于java - 在运行时配置内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845330/

相关文章:

java - 在另一个应用程序中集成具有自己的数据库的我的模块

java - 使用 AT 命令发送短信的名称而不是号码

java - Spring 应用程序对 keycloak 的基本身份验证

java - 给定方法签名 A bar(B q) throws C,以下哪项将无法编译?

java - 异步加载 JButton 图标

java - 为什么ListIterator.add不抛出ConcurrentModificationException但下面的list.add抛出异常?

javascript - 当应用程序终止或后台执行时,推送通知不会启动

java - 带有 Java 泛型的构建器模式

java - 如何运行使用 intellij 12 创建的 jar 文件

java - 异常覆盖规则