【发布时间】:2015-12-26 04:32:29
【问题描述】:
在JDK8中,直接内存可以单独配置,如果直接内存用完了(比如使用ByteBuffer.allocateDirect()分配的),那么JDK会因为直接内存不足的错误导致你的应用崩溃。
有没有办法以编程方式检查应用程序中还剩下多少直接内存?
【问题讨论】:
标签: java memory error-handling out-of-memory
在JDK8中,直接内存可以单独配置,如果直接内存用完了(比如使用ByteBuffer.allocateDirect()分配的),那么JDK会因为直接内存不足的错误导致你的应用崩溃。
有没有办法以编程方式检查应用程序中还剩下多少直接内存?
【问题讨论】:
标签: java memory error-handling out-of-memory
您可以使用 Runtime 访问有关分配给您的程序正在运行的 JVM 的内存的信息。
Runtime runtime = Runtime.getRuntime();
long max = runtime.maxMemory();
long free = runtime.freeMemory();
long total = runtime.totalMemory();
【讨论】: