netty 如何实现堆内 和堆外的数据交换
时间: 2024-05-21 22:11:55 浏览: 85
Netty 使用 Unsafe 和 DirectByteBuffer 允许直接内存访问,从而实现了堆内和堆外的数据交换。其中 Unsafe 是 Java 的一个被限制使用的 API,提供了对堆外内存的原始访问支持。而 DirectByteBuffer 则是 Java NIO 中提供的一种 Bytebuffer 实现,它分配的内存不在 JVM 堆中,而是在直接内存区域,因此能够直接访问堆外内存。Netty 利用这两种机制,通过调用 Unsafe 和 DirectByteBuffer 的相关 API,直接访问堆外内存中的数据进行数据交换。
阅读全文