• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






phoebus0501

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2010年12月6日

ByteBuffer分散和聚集的应用场景
摘要: 分散/聚集 I/O 对于将数据划分为几个部分很有用。例如,您可能在编写一个使用消息对象的网络应用程序,每一个消息被划分为固定长度的头部和固定长度的正文。您可以创建一个刚好可以容纳头部的缓冲区和另一个刚好可以容难正文的缓冲区。当您将它们放入一个数组中并使用分散读取来向它们读入消息时,头部和正文将整齐地划分到这两个缓冲区中。 我们从缓冲区所得到的方便性对于缓冲区数组同样有效。因为每一个缓冲区都跟踪自己还可以接受多少数据,所以分散读取会自动找到有空间接受数据的第一个缓冲区。在这个缓冲区填满后,它就会移动到下一个缓冲区。 阅读全文
posted @ 2010-12-06 16:43 phoebus0501 阅读(481) 评论(0) 推荐(0)
 
转:JAVA内存映射文件
摘要: 解释:将文件的一段区域映射到内存中,比传统的文件处理速度要快很多参考:无格式输入流 110秒缓冲输入流 9.9秒随机存取文件 162秒内存映射文件 7.2秒例子Java代码 packagetwelve;importjava.io.BufferedInputStream;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.RandomAccessFile;importjava.nio.M 阅读全文
posted @ 2010-12-06 16:23 phoebus0501 阅读(9349) 评论(3) 推荐(0)
 
Direct or Non-direct ByteBuffer
摘要: 转载于:http://crmky.spaces.live.com/Blog/cns!8C989768DB1A6B14!458.entry?sa=254330365这两种类型的ByteBuffer相信大家都知道,但是两者的区别在什么地方呢?在不同的环境下采用哪种类型的ByteBuffer会更有效率呢?先解释一下两者的区别: Non-direct ByteBuffer内存是分配在堆上的,直接由Java虚拟机负责垃圾收集,你可以把它想象成一个字节数组的包装类,如下伪码所示: HeapByteBuffer extends ByteBuffer { byte[] content; int positio 阅读全文
posted @ 2010-12-06 16:15 phoebus0501 阅读(1210) 评论(0) 推荐(0)