Java-内存概念- off-heap, native heap, direct memory, native memory
概述
这几个都是JVM内存相关概念,之前一直有点模糊, 最近查了一些资料,在此记录。
1 Heap Memory
JVM管理的堆内存,用来存放Java对象,由GC负责清理。
2 Native Memory/Off-heap Memory
由Java进程申请分配,但不在Java堆内,并不由GC负责清理。
3 Direct Memory
类似Native Memory
,但不完全相同。
Direct Memory暗含了硬件底层Buffer正在被共享。比如网络Buffer。
Direct Memory的目标是减少相同字节在内存被反复拷贝的次数。