①,非直接缓冲区;ByteBuffer.allocatejvm
②,直接缓冲区;经过映射与系统共享缓冲,省去了用户地址到内核地址的数据copy,因此直接缓冲区能提供系统性能(ByteBuffer.allocateDirect),适用于大对象且不想放到jvm的内存中性能
缺点:操作系统
1,直接写到物理内存中,资源开销比写在用户内存中的大对象
2,写到物理内存中的数据,就交由操做系统控制,只有在gc时才能收回地址空间blog