我想知道什么时候没有可用内存,allocateDirect和ByteBuffer分配会返回空指针还是其他? (我无法在java文档中找到它)。提前谢谢。
答案 0 :(得分:3)
对于这两种方法,当没有可用的虚拟内存时,会抛出java.lang.OutOfMemoryError
。
答案 1 :(得分:2)
ByteBuffer.allocateDirect()受HotSpot的-XX:MaxDirectMemorySize
限制。当达到此限制时,您将获得OutOfMemoryError。