如何检测Java 8直接内存的数量?

时间:2015-09-28 20:35:48

标签: java memory error-handling out-of-memory

在JDK8中,可以单独配置直接内存,如果直接内存不足(例如使用ByteBuffer.allocateDirect()分配),那么JDK会因为没有直接内存错误而导致应用程序崩溃。

有没有办法以编程方式检查应用程序中剩余多少直接内存?

1 个答案:

答案 0 :(得分:0)

您可以使用Runtime访问分配给运行程序的JVM的内存信息。

Runtime runtime = Runtime.getRuntime();

long max = runtime.maxMemory();
long free = runtime.freeMemory();
long total = runtime.totalMemory();