写在前面

本文隶属于专栏《100个问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定Java虚拟机

解答

直接内存又称堆外内存,我们可以通过NIO中的DirectByteBuffer实现直接内存的创建、使用和销毁。
本质上Java中操作直接内存只能通过sun.misc.Unsafe来进行。

补充

直接内存分配有什么限制?

本机直接内存的分配不会受到Java堆大小的限制,但是会受到本机总内存(包括RAM以及SWAP区或者分页文件)大小以及处理器寻址空间的限制。

直接内存可以通过jvm参数-XX:MaxDirectMemorySize控制。

Java直接内存是属于内核态还是用户态?

DirectByteBuffer属于user space,也就是用户态。

上一篇 下一篇