当你与工作 Java, 通常与 项目小, 无需担心 内存 你有可用或你正在使用. 但有一段时间,该项目是 批发 和的需要 内存 同样的 增加, 和 不 通常这样做 线性.
正如您在该项目, 它总是使很方便, 良好的管理 的的 内存 和, 在对可能性的衡量, 删除引用 那不会返回使用, 从而使 垃圾回收器 释放资源的相同.
即使考虑 很好的控制 不同的变量与您项目中的对象, 很高兴知道到何种程度上影响到某些情况下 宝贵的资源 内存. 要做到这一点, 我们打算去解释,因为我们可以看到它 可用内存, 使用, 总计 和 最大 环境 在 Java 虚拟机 我们的代码运行时.
要做到这一点, 我们打算使用的 应用程序执行环境, 获取数据寻求在同一. 我们向您展示在以下 代码 举个例子:
1 2 3 4 5 6 7 8 9 10 11 | public static void main (String args[]){ int dataSize = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println ("Memoria máxima: " + runtime.maxMemory() / dataSize + "MB"); System.out.println ("Memoria total: " + runtime.totalMemory() / dataSize + "MB"); System.out.println ("Memoria libre: " + runtime.freeMemory() / dataSize + "MB"); System.out.println ("Memoria usada: " + (runtime.totalMemory() - runtime.freeMemory()) / dataSize + "MB"); } |
正如你可以看到代码中, 我们做的第一个是 我们创建一个变量 类型 整数 值为 1024 * 1024, 或相同是什么, 1 MB. 因为内存就要进来 字节, 到 划分 此变量所 结果 我们将会显示在 兆字节.
随后, 分配给此变量 运行时 执行当前的应用程序的环境, 采取行动跟随, 打印控制台 属于数据 不同的值 的 内存 想要:
- runtime.maxMemory() – 获取内存 最大.
- runtime.totalMemory() – 获取内存 总计.
- runtime.freeMemory() – 获取内存 免费.
若要获取的值 内存 目前 使用 只是 将减去, 到内存 总计, 内存 免费.
以这种方式, 在 任何时间 在您的应用程序的执行, 您可以有它的记录 内存量 某些情况下,可以获得到 消费 您的代码.
我们的留言或输入到论坛