PooledByteBufAllocator#newDirectBuffer方法的疑惑
来源:7-6 PooledByteBufAllocator概述

左耳听风1527165
2020-01-12
在PooledByteBufAllocator#newDirectBuffer方法中,else分支中创建出来的对象,最后在调用_getBytes方法的时候,他们本质都是调用unsafe.getByte,我看不出他们有什么区别,或者是性能上的区别,因为不管是直接DirectByteBuffer调用get也好还是PlatformDependent.getByte也是,最后都是归于unsafe.getByte的调用
写回答
1回答
-
闪电侠
2020-01-15
可以关注一下他们的 setByteBuffer(ByteBuffer buffer) 方法,unsafe 只直接保存内存地址,后续直接在这个内存地址上进行数据读写,而非 unsafe 保存的是 jdk 的 ByteBuffer 对象,后续数据读写是基于 ByteBuffer 对象
00
相似问题