当前位置: 首页 > news >正文

绍兴易网网站开发linux网站架设怎么做

绍兴易网网站开发,linux网站架设怎么做,从网上下载的网站源码怎么用,天津建设工程信息网网页版转载自 关于ByteBuffer使用解释之前看过相关的ByteBuffer的使用#xff0c;但是问题是那时还年轻#xff0c;所以现在有点老了#xff0c;因此#xff0c;忘记了#xff0c;所以决心看源代码了解一番----故作此篇文章。查看ByteBuffer的API#xff0c;看的我是一头雾水但是问题是那时还年轻所以现在有点老了因此忘记了所以决心看源代码了解一番----故作此篇文章。查看ByteBuffer的API看的我是一头雾水搞不清什么mark、position、limit、flip、reset几个的用法先看下面的例子 String str helloWorld; ByteBuffer buff ByteBuffer.wrap(str.getBytes()); System.out.println(position:buff.position()\t limit:buff.limit()); //读取两个字节 buff.get(); buff.get(); System.out.println(position: buff.get(buff.position())\t limit:buff.limit()); buff.mark(); System.out.println(position:buff.position()\t limit:buff.limit()); buff.flip(); System.out.println(position:buff.position()\t limit:buff.limit()); 输出结果: position:0  limit:10  position:2  limit:10  position:2  limit:10  position:0  limit:2  我们以每位开发人员熟悉的”helloworld“用ByteBuffer将字符串包装由于ByteBuffer是一个抽象类通过wrap包装的对象将实际返回的是一个HeapByteBuffer对象。由此可知HeapByteBuffer是ByteBuffer的子类同样的ByteBuffer又是Buffer抽象类的子类。以上提到的mark、position、limit、flip、reset都是出自于Buffer这个抽象类。下面我们来解析几个方法的当我们调用了wrap方法后Buffer中初始化的结构是注释m:mark;p:position;L:limit;初始情况下mark是指向第一个元素之前的的即-1,postion为指向第一个元素为0.而Limit是被赋值为byte[]的长度。因此这就是打印结果的第一行。m  p       L-10123456789  HELLOWORLD 当我们连续调用两次get()方法获得两个个字节每次调用都会触发position操作那么此时position就会移动到index 2的的地方而这个时候Limit和mark是不会发生变化的。如果将读取的两个字节打印会是H和E因此执行结果第二行会有position:2  limit:10结果.   m、p       L-10123456789  HELLOWORLD 读取完毕后我们使用mark这个时候mark会从-1移动到2和position指向同一个元素可以看见Limit是不会发生改变的。mp L        -10123456789  HELLOWORLD 使用了mark标记的当前的position后如果们调用flip这个时候Limit就会指向position的位置并将mark和position还原为初始值。这样就知道了limit当前的就为2什么意思呢就是说当前可以读的字节数是2。我们可以尝试一下如下代码System.out.println((char)buff.get()(char)buff.get()); 输出结果:he貌似这也没什么稀奇的如果你在代码换成// System.out.println((char)buff.get()(char)buff.get() System.out.println((char)buff.get()(char)buff.get()(char)buff.get()); 输出结果:limit:10  Exception in thread main java.nio.BufferUnderflowException      at java.nio.Buffer.nextGetIndex(Buffer.java:474)      at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117)      at com.taobao.moxing.notify.Main.main(Main.java:33)position:2    limit:10  position:2   limit:10  position:0   limit:2     为什么会抛异常呢原因是limit的含义就想一个窗口你当前能读到的数据就是当前窗口限制的(本例中即为2),如果这个窗口之外的所有元素都是不可读的。至此我想你和我就应该明白这几个参数的含义了吧。而至于reset方法它是将当前的position设置为0rewind是将mark重置为-1,position重置为0;clear方法是真正的重置将mark-1,position0,limitcapacity(即当前buffer的容量)
http://www.yutouwan.com/news/492331/

相关文章:

  • 手机免费制作pptseo与网站优化 pdf
  • 成都网站改版公司尚易企业邮箱
  • 学院网站建设工作会议个人二级网站怎么做
  • 电子商务网站建设文档wordpress柚子皮
  • 请人做网站需要注意什么条件公司建设网站费用会计怎么记
  • 专业做网站技术江西响应式网页建设
  • 天津本地网站免费行情软件app下载大全
  • 大兴网站建设多少钱东莞市建网站
  • 大连开发网站工程机械网站模板
  • 求做图的网站网站外链坏处
  • 深圳网站搭建多少钱wordpress英文博客主题
  • 中国建设银行网站会员可以改名建行个人网上登录入口
  • 株洲网站建设方案咨询规划设计咨询公司
  • 市场上网站开发价格教育类网站开发
  • 网站制作需要多长时间wordpress 评论头像
  • 上海网站建设好处网站快速排名服务商
  • 建设网上银行网站定制网站为什么贵
  • 深圳商城网站设计电话道士召唤10个月灵的传奇手游
  • 国外设计素材网站烟台网站建设烟台
  • flash网站设计师wordpress salient
  • 怎样用前端知识制作企业网站网站开发设计思想报告
  • 公司展示型网站蚌埠网站排名
  • 南宁网站制作超薄网络电影网站建设策划书
  • 做淘客的网站关键词有哪些济南网站制作企业
  • 北京京水建设集团有限公司网站wordpress怎么给网站设置几种语言
  • 静态网站后台管理系统建网站做站长
  • 网站建设与规划策划书开通网站空间
  • 用于建设教学网站的建站工具有哪些特点有限公司破产无力偿还债务怎么办
  • 广州天河做网站重庆市建设工程信息官方网站
  • wordpress建站主题网站建设公司海南