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

兰州网站建设最新招聘信息龙华网站建设多少钱

兰州网站建设最新招聘信息,龙华网站建设多少钱,本周的最新新闻,网站首页加载特效java.nio.ByteBuffer的 capacity, limit, position, mark Capacity#xff08;容量#xff09; 定义#xff1a;缓冲区的总容量#xff0c;即缓冲区中可以容纳的元素的数量。这个容量在缓冲区创建时被设定#xff0c;并且之后不能被改变。 用途#xff1a;它定义了缓冲区…java.nio.ByteBuffer的 capacity, limit, position, mark Capacity容量 定义缓冲区的总容量即缓冲区中可以容纳的元素的数量。这个容量在缓冲区创建时被设定并且之后不能被改变。 用途它定义了缓冲区可以容纳多少数据。一旦缓冲区被分配其容量就固定了。Limit限制 定义第一个不应该被读或写的元素的索引换句话说是缓冲区的当前终点。 用途在写模式下limit 等于 capacity表示你不能再往缓冲区中写数据了。在读模式下limit 会被设置为某个小于 capacity 的值表示有多少数据是可读的。limit 可以被改变以反映缓冲区中实际数据的数量。Position位置 定义下一个要被读或写的元素的索引。 用途它指定了下一个操作读或写发生的位置。当从缓冲区读取数据时position 会自动增加指向下一个可读的数据。当向缓冲区写入数据时position 同样会自动增加指向下一个要写入的位置。Mark标记 定义一个备忘位置通过调用 mark() 方法可以设置。 用途在某些操作之后你可能想回到某个特定的位置这时就可以使用 mark() 方法来标记当前的位置。之后无论 position 走到哪里你都可以通过调用 reset() 方法来回到 mark 标记的位置。注意mark 是可选的并且只有在 position 被改变之前它才是有效的。 初始值: limit与capacity初始值相同, position初始是0, mark是-1 从测试代码可看出: limit与capacity初始值相同, position初始是0, mark是-1 测试代码 import java.nio.ByteBuffer;public class TestByteBuffer2409172015 {public static boolean plntrue;public static void pln(Object...oAr) {if(pln)for(Object o:oAr)System.out.println(o);}public static void main(String...arguments) {ByteBuffer bbf ByteBuffer.allocate(102400);pln(bbf);pln(bbf.capacity()bbf.capacity());pln(bbf.limit()bbf.limit());pln(bbf.position()bbf.position());pln(bbf.mark()bbf.mark());} }结果: java.nio.HeapByteBuffer[pos0 lim102400 cap102400] bbf.capacity()102400 bbf.limit()102400 bbf.position()0 bbf.mark()java.nio.HeapByteBuffer[pos0 lim102400 cap102400]可看出: 实现类是: java.nio.HeapByteBuffer limit与capacity初始值相同 position初始是0 mark()方法不是返回mark属性的值, 而是设置markposition , 与reset()方法配合使用, mark初始值是-1,在不调用mark()方法就调用reset()方法时,会报错 从源码看出: limit与capacity初始值相同, position初始是0, mark是-1 这四个属性定义在ByteBuffer的父类 java.nio.Buffer中 private int mark -1;private int position 0;private int limit;private final int capacity;mark初始值是-1 , position初始值是0 ByteBuffer的两个静态工厂方法 public static ByteBuffer allocateDirect(int capacity) {return new DirectByteBuffer(capacity);}public static ByteBuffer allocate(int capacity) {if (capacity 0)throw createCapacityException(capacity);return new HeapByteBuffer(capacity, capacity, null);}allocate(int capacity) 方法 new一个继承自ByteBuffer的HeapByteBuffer类, capacity属性与limit属性值都来自capacity参数值allocateDirect(int capacity) new一个DirectByteBuffer类 extends MappedByteBuffer extends ByteBuffer DirectByteBuffer(int cap) { // package-privatesuper(-1, 0, cap, cap, null);boolean pa VM.isDirectMemoryPageAligned();int ps Bits.pageSize();long size Math.max(1L, (long)cap (pa ? ps : 0));Bits.reserveMemory(size, cap);long base 0;try {base UNSAFE.allocateMemory(size);} catch (OutOfMemoryError x) {Bits.unreserveMemory(size, cap);throw x;}UNSAFE.setMemory(base, size, (byte) 0);if (pa (base % ps ! 0)) {// Round up to page boundaryaddress base ps - (base (ps - 1));} else {address base;}try {cleaner Cleaner.create(this, new Deallocator(base, size, cap));} catch (Throwable t) {// Prevent leak if the Deallocator or Cleaner fail for any reasonUNSAFE.freeMemory(base);Bits.unreserveMemory(size, cap);throw t;}att null;super(-1, 0, cap, cap, null); 这句看出 capacity与limit初始值相同 从clear()方法也可看出: limit与capacity初始值相同, position初始是0, mark是-1 public Buffer clear() {position 0;limit capacity;mark -1;return this;
http://www.w-s-a.com/news/192599/

相关文章:

  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网
  • 地方门户网站源码下载揭阳专业网站建设
  • 网站做优化好还是推广好wordpress百家号模版
  • 淘宝网网站建设的的意见校园微网站建设
  • 小说网站建设之前需求分析免费下载京东购物
  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有
  • expedia电子商务网站建设辽宁网站设计
  • 深圳网站建设网站运营绥芬河市建设局网站
  • 家政服务网站做推广有效果吗做图软件ps下载网站有哪些
  • 北京市建设教育协会网站flash网站制作单选框和复选框ui组件
  • 国外有没有做问卷调查的网站网站网页怎么做
  • 简单个人网站模板下载网站建设整体情况介绍
  • 网站建设做到哪些内容荆门网站建设电话咨询
  • 玉树网站建设公司双11主机 wordpress 2015
  • dw做网站背景图片设置汕头seo管理
  • 个人又什么办法做企业网站唐山哪里建轻轨和地铁
  • 手机网站404页面室内设计公司排名前100
  • 做民宿需要和多家网站合作吗创建软件的步骤
  • 网站导航栏设计要求辽宁省住房和城乡建设厅
  • 海外网站平台腾讯营销平台
  • 东道网站建设良品铺子网络营销案例
  • 免费企业查询软件优化模型
  • 兰亭集势的网站平台建设凡科网站免费版怎么做
  • 在网站做推广要钱吗网站根目录是哪个文件夹