heapbuffer java

heap buffer 和 direct buffer区别

在Java的NIO中,我们一般ByteBuffer缓冲区来传输数据,一般情况下我建Buffer对象是通过ByteBuffer的两个静态:

ByteBuffer.allocate(int capacity);
ByteBuffer.wrap(byte[] array);

查看JDK的NIO的源代码关于这两个部分:

/**allocate()函数的源码**/
public static ByteBuffer allocate(int capacity) {
if (capacity < 0)
throw new IllegalArgumentException();
return new HeapByteBuffer(capacity, capacity);
}

/**wrap()函数的源码**/
public static ByteBuffer wrap(byte[] array) {
return wrap(array, 0, array.length);
}
//
public static ByteBuffer wrap(byte[] array,
int offset, int length)
{
try {
return new HeapByteBuffer(array, offset, length);
} catch (IllegalArgumentException x) {
throw new IndexOutOfBoundsException();
}
}

我们可以很清楚的发现,这两个方法都是实例化HeapByteBuffer来创建的ByteBuffer对象,也就是heap buffer. 其实除了heap buffer以外还有一种buffer,叫做direct buffer。我们也可以创建这一种buffer,通过ByteBuffer.allocateDirect(int capacity)方法,查看JDK源码如下:

public static ByteBuffer allocateDirect(int capacity) {
return new DirectByteBuffer(capacity);
}

我们发现该函数调用的是DirectByteBuffer(capacity)这个类,这个类就是创建了direct buffer。
喜欢阅读
  • 天品神眼

    天品神眼

    意外触电,获得透视能力,王洋一飞冲天。赌石,让他赚取万贯家财,治病,让他获得万古之名,强身,让他成为古武第一人……钱可以少赚,美女必须先看,透视能力大开,王洋注视着一名名过往美女如是道。

  • 墨爱:独宠佳人

    墨爱:独宠佳人

    “我竟然结婚了?我怎么不知道?”这年头居然结婚都不用当事人亲自去的?!顾小小满头黑线。在专业坑女儿的父母面前,顾小小欲哭无泪。这还没完,嫁个老公属狗的,动不动就咬人,被传染狂犬病怎么办?婆婆更厉害,进门就是一个下马威,说什么‘不配’,还要把她扫地出门。哼!我顾小小可不是什么软柿子,你说不配就不配?你说离婚就离婚?我偏不!

  • 仙行饕客

    仙行饕客

    一手厨艺烹饪仙灵食物,丹药算什么?食补永远比药补强!吃遍天下,吞天食地!这是一部挥舞菜刀杀敌修仙的古典仙侠故事!

  • 特战狂枭

    特战狂枭

    为了男人的承诺,萧晨强势回归,化身美女总裁的贴身保镖,横扫八方之敌,谱写王者传奇!他——登巅峰,掌生死,纵横世界,醒掌天下权;泡美女,定乾坤,识美无数,醉卧美人膝!

  • 爱情保卫战

    爱情保卫战

    三年前,她用他妹妹的性命做条件,要他跟她结了婚。婚后两年,她受尽冷眼和嘲讽,再多深情,也在他的残忍冰冷里化成灰烬。她心灰意冷,终于决定离开。可那个男人却突然紧追不放,死缠烂打。“先生,不好意思,我不认识你。”“没关系,让我们‘深入’了解一下,就认识了。”

  • 特品纨绔

    特品纨绔

    穷三代得神豪系统,从此纵横都市,建立金钱帝国!

  • 总裁爹地是妻奴

    总裁爹地是妻奴

    他说:只要她心里有我,恨或爱又有何妨?他儿子默默的将行李箱收拾好。他问:去哪?付豆豆一脸严肃且认真的看着男人:爹地,我觉得妈咪长的还挺好看,第二春第三春也不是没可能,我去公园门口摆个摊…于是……

  • 锦瑟如歌

    锦瑟如歌

    一朝灭门,家破人亡,凶手竟是青梅竹马的爱人。她忍辱负重,身侍仇人,只为有朝一日报得血海深仇。刀山火海尸骨成山,蓦然回首间,刻骨之仇已然入骨相思。

  • 猜你喜欢
    热门推荐
  • 冻钓连体服
  • ps版暗黑破坏神1攻略
  • hymen god
  • 汉字谐音的笑话
  • 原来是这样英语
  • dc7900上至强
  • 6063 o态性能
  • little grape翻译中文
  • 星辰旅游有限公司
  • lg蓝牙耳机hbs900
  • 宝马m2 0 200
  • I wish you a 什么意思
  • ipad如何分屏ios11
  • ggplot2 多变量
  • multisim16最新版本
  • thuoc vitamin c
  • 长沙英孚少儿的骗局
  • datetime封装方法
  • 崖山之后无华夏
  • t470 固态硬盘
  • All Right Reserved 安福网