jvm-直接内存区域

jvm-直接内存区域

起男 1,077 2020-12-29

jvm-直接内存区域

一般使用native函数操作c++代码来实现直接分配堆外内存,不是虚拟机运行时数据区的一部分,也不是java虚拟机规范中定义的内存区域。

这块内存不受java堆空间大小的限制,但是受本机总内存大小限制所有也会出现oom异常。

分配空间后避免了在java堆跟native堆中来回复制数据,可以有效提高读写效率,但它的创建、销毁却比普通buffer慢

ps:如果使用了nio,本地内存区域会被频繁的使用,此时jvm内存 ≈ 方法区+堆+栈+直接内存

原文:https://mp.weixin.qq.com/s/GfAfffbF_uiphN0Zd3YouQ