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

杭州企业网站制作哪个好wordpress4.9.8下载

杭州企业网站制作哪个好,wordpress4.9.8下载,精品网站建设费用 c磐石网络,tp框架做展示网站先给大家看一下关系图以免大家一头雾水找不着北: 1.不少人对ArrayList集合的底层代码存在误区#xff08;包括一些面试官#xff09; 误区1#xff1a;ArrayList集合的底层是数组结构的#xff0c;数组默认长度为10。 误区2#xff1a;当数组添加满了之后会自动扩容为1.…先给大家看一下关系图以免大家一头雾水找不着北: 1.不少人对ArrayList集合的底层代码存在误区包括一些面试官 误区1ArrayList集合的底层是数组结构的数组默认长度为10。 误区2当数组添加满了之后会自动扩容为1.5倍。标红的就代表错误 正确的ArrayList底层原理 正解1利用空参构造创建的集合在底层会创建一个默认长度为0的数组 正解2在添加第一个元素时底层会创建一个新的长度为10的数组此时数组中所有元素都为null 元素的值nullnullnullnullnullnullnullnullnullnullindex0123456789 正解3当这十个元素存满了数组会自动扩容扩容时会创建一个新的数组长度为老数组的1.5倍再拷贝老数组的所有元素到新数组 正解4如果一次添加多个元素即使扩容1.5倍也存不下新创建的数组长度会以实际为准。 源码剖析打开idea跟着我做你一定可以学会看源码 先假设我们要调用add方法list.add(xxx),后面你要拿着里面的元素带入到方法内部 CtrlN在搜索框输入ArrayList回车,一定要是uil包下的 public ArrayList() {this.elementData DEFAULTCAPACITY_EMPTY_ELEMENTDATA;Ctrl鼠标左键单击跟进 }private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA {}; {}表示DEFAULTCAPACITY_EMPTY_ELEMENTDATA是一个空数组表示默认长度为0。elementData 是 ArrayList 用来存储元素的数组。 Alt数字键7展开ArrayList所有方法找到两个add方法 public boolean add(E e) {modCount;  // 1. 增加修改计数器以便在集合被修改时进行监控。add(e, elementData, size);  // 2. 调用私有的 add 方法将元素 e 添加到 elementData 数组中。return true;  // 3. 返回 true 表示元素已成功添加。 }private void add(E e, Object[] elementData, int s) {if (s elementData.length)  // 1. 检查是否需要扩容。elementData grow();  // 2. 如果需要扩容调用 grow 方法扩展数组。elementData[s] e;  // 3. 将新元素 e 放入 elementData 数组的正确位置。size s 1;  // 4. 更新集合的大小size。 }Ctrl鼠标左键单击跟进找到两个grow方法 private Object[] grow() {return grow(size 1);  // 1. 调用带有最小容量参数的 grow 方法传入 size 1 作为新的最小容量。 }private Object[] grow(int minCapacity) {int oldCapacity elementData.length;  // 1. 获取当前数组的容量。if (oldCapacity 0 || elementData ! DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {int newCapacity ArraysSupport.newLength(oldCapacity,minCapacity - oldCapacity, /* minimum growth */oldCapacity 1           /* preferred growth */);  // 2. 计算新的容量。注意这里的右移符号就是1.5倍扩容的关键右移一次就除以2假设老容量到达了1010/2就是默认oldCapacity新增容量的大小5新增完之后新数组newCapacity的大小就变成了原来的1.5倍即15return elementData Arrays.copyOf(elementData, newCapacity);  // 3. 创建一个新数组并复制旧数组的元素。} else {return elementData new Object[Math.max(DEFAULT_CAPACITY, minCapacity)];  // 4. 如果数组是空的则创建一个具有默认最小容量的新数组。} }Ctrl鼠标左键单击跟进找到newLength方法 public static int newLength(int oldLength, int minGrowth, int prefGrowth) {// 定义一个静态方法用于根据旧长度、最小增长量和首选增长量计算新的长度。int prefLength oldLength Math.max(minGrowth, prefGrowth); // 计算首选长度即将 oldLength 加上 minGrowth 和 prefGrowth 中的较大值; 这个计算可能会导致整数溢出。if (0 prefLength prefLength SOFT_MAX_ARRAY_LENGTH) { // 检查首选长度是否为正数且在允许的最大长度范围内。return prefLength; // 如果首选长度在范围内则返回这个首选长度。} else {return hugeLength(oldLength, minGrowth); // 如果首选长度超出了范围则调用另一个方法来确定一个更大的有效长度。} }相信你一定能看懂 好了今天的学习就到这了如果看不懂源码的一定要一步一步推导别着急一下看完学习应该是以进步为目的的三分钟的进步胜过别人24小时的原地踏步只要有进步就算没有理想那也不叫咸鱼加油!
http://www.hkea.cn/news/14506095/

相关文章:

  • 定边网站建设2020十大热点事件
  • 个人网站免费源码代理网站官网
  • 推广游戏网站怎么做网站建设 岗位
  • 怎样修改公司网站内容wordpress user pass
  • wordpress构建企业网站建筑设计公司加盟分公司
  • 网站排名优化培训网站改版原因
  • dnf免做卡怎么领取网站免费海报制作app
  • 温州网站建设这个做网站开发学什么
  • 镇海做网站网站做qq登录界面
  • 中国各大网站排名游戏推广怎么做引流
  • 台州网站建设方案策划江西住建云网站
  • 常州免费网站建站模板怎么做学校子网站
  • 传奇手游开服网站wordpress改不了语言
  • 个人网站设计流程步骤西部数码域名网站模板
  • 做茶歇的网站docker 安装wordpress
  • 网站前台显示数据库指定分类怎么做php哪个网站可以做身份核验
  • 网站建设课程基础牡丹江林口县建设局网站
  • 荣成市建设局网站怎么注册网自己的网站
  • 北京最大的网站建设有限公司自己做网站好不好
  • 十大免费实用网站做网站审批号必须要
  • jsp做的网站答辩问题怎么建立网站数据库连接
  • 网站建设的广告投入基于mysql的网站用什么做
  • 哪个网站可以接做美工的活儿品牌网站建设解决方
  • 网站iis7.5配置百度账号申诉中心
  • 怎样做自己的视频网站山东省菏泽市城乡建设局网站
  • 做网站开发的营业执照平面设计专业哪个学校最好
  • 互联网做网站管理咨询公司简介模板
  • 邢台企业做网站哪儿好重庆市建设工程施工安全网
  • 网站角色管理中石油企业邮箱怎么注册
  • 红旗网站建设后台管理页面模板