javaNIO实战3----> java NIO的非直接缓冲区与直接缓冲区

1、NIO的非直接缓冲区与直接缓冲区

      重要的一点:NIO的直接缓冲区与废纸接缓冲区值针对于ByteBuffer这种缓冲区,其他的实现类没有直接缓冲区的说法。

      非直接字节缓冲区:通过allocate()方法进行分配,将缓冲区建立在JVM的堆内存中。

      直接字节缓冲区:通过ByteBuffer.allocateDirect()方法进行分配,会将缓冲区建立在OS的物理内存中,可以提高效率。

      

 

2、非直接缓冲区之所以效率不行是因为,内核空间与用户空间的copy导致的,模型如下:

       

 

3、直接字节缓冲区模型:

       

        减少了内核空间 到 用户空间的数据copy过程,所以能够显著的提高效率。缺点:消耗大,不易控制。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值