Java堆外内存使用基于GC的回收
JVM内部会把所有内存分成Java使用的堆内存和Native使用的内存,它们之间是不能共享的,就是说当你的Native内存用完了时,如果Java堆又有空闲内存,这时Native会重新向Jvm申请,而不是直接使用Java堆内存。使用堆外内存,就是为了能直接分配和释放内存,提高效率。JDK5.0之后,代码中能直接操作本地内存的方式有2种:使用未公开的Unsafe和NIO包下ByteBuffer。...