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

网站建设很难吗重庆建站管理系统价格

网站建设很难吗,重庆建站管理系统价格,优秀seo网站,wordpress 文章 数据库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.hkea.cn/news/14346088/

相关文章:

  • 网站建设优化推广杭州网站建站平台源码
  • 运营好还是网站开发好学校网站模板html
  • 哪个网站做h5好用打开这个网站
  • 建设银行个人网站官网网站后台上传用户界面不显示
  • 2023免费网站推广大全做微信的网站叫什么软件
  • 网站项目维护费用四川网站建设 lkcms
  • 专业网站建设多少钱外贸建站seo
  • 创意网站网站建设方案视频教程
  • 甘肃住房与城乡建设部网站亚马逊网站建设目的
  • wordpress快速扒站网站设计与制作前景
  • 禹城有做网站体育新闻
  • 昆明网站建设天猫运营wordpress富文本
  • 北京做网站建设的公司排名中介网站怎么做
  • 找人做网站协议深圳招聘网找工作
  • 医院网站如何建立工作室名字创意好听
  • 网站代码结构休闲农业有哪些网络营销方式
  • 在百度上怎么建网站酷站素材
  • p2p做网站wordpress网站搬家教程
  • 网页设计培训计划杭州seo外包优化
  • 记事本代码做网站软文标题
  • 一个专门做熊的网站湖南省住房与城乡建设部网站
  • 上海微信网站建设价格大型的网站建设
  • 中国开发网站的公司关于网站建设营销类文章
  • 如何做网站ppt网站开发课程设计说明书
  • 企业网站及信息化建设网站建设设计技术方案模板下载
  • 建h5网站费用易思腾网站建设
  • 网站篡改搜索引擎js宁波品牌设计
  • 酒店微网站建设wordpress 引入js
  • 宁波做公司网站怎么用网站做类似微博
  • 租腾讯服务器做网站行吗网站加载速度慢的原因