1)不是虚拟机运行时数据区的一部分,也不是《java虚拟机规范》中定义的内存区域。
2)直接内存是java堆外、直接向系统内存申请的内存空间。
3)来源于NIO,通过存在堆中的DirectByteBuffer操作native内存。
4)访问直接内存的速度会优于java堆,不需要虚拟机和内存的相互copy,直接物理地址映射。
5)也可能导致oom异常。
6)缺点:分配回收成本高;不受JVM管理