- 浏览: 99257 次
- 性别:
- 来自: 北京
最新评论
public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 里面的方法 多为 synchronized 的因此Vector是线程安全的 Vector里面的好多api和 ArrayList是相似的 区别是线程安全与否 与 动态增长的时候的增长速率不同 动态增长会申请大的空间然后调用Arrays.copyOf()复制过去 这里又调用了System.arrayCopy() 这个是个native 方法 4个构造函数 public Vector() { this(10); } public Vector(int initialCapacity) { this(initialCapacity, 0); } public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); this.elementData = new Object[initialCapacity]; this.capacityIncrement = capacityIncrement; } protected int capacityIncrement; //与自动增长有关的一个量 public Vector(Collection<? extends E> c) { elementData = c.toArray(); elementCount = elementData.length; // c.toArray might (incorrectly) not return Object[] (see 6260652) if (elementData.getClass() != Object[].class) elementData = Arrays.copyOf(elementData, elementCount, Object[].class); } 与自动增长有关的方法 public synchronized void ensureCapacity(int minCapacity) { modCount++; ensureCapacityHelper(minCapacity); } private void ensureCapacityHelper(int minCapacity) { int oldCapacity = elementData.length; if (minCapacity > oldCapacity) { Object[] oldData = elementData; int newCapacity = (capacityIncrement > 0) ? // vector 中的 capacityIncrement若是被设定了 就增长这么多 (oldCapacity + capacityIncrement) : (oldCapacity * 2); 若是没有就增长2倍 if (newCapacity < minCapacity) { newCapacity = minCapacity; } elementData = Arrays.copyOf(elementData, newCapacity); } } public synchronized void setSize(int newSize) {// 可能扩充 可能裁剪 modCount++; if (newSize > elementCount) { ensureCapacityHelper(newSize); } else { for (int i = newSize ; i < elementCount ; i++) { elementData[i] = null; } } elementCount = newSize; } public synchronized boolean add(E e) { modCount++; ensureCapacityHelper(elementCount + 1); elementData[elementCount++] = e; return true; } public synchronized int capacity() { //返回可容纳的容量 return elementData.length; } public synchronized int size() { // 返回现有元素个数 return elementCount; }
发表评论
-
hibernate中htm.xml注意的一个问题
2011-06-08 12:00 843遇到了这个问题 总是报 org.hibernate ... -
罗马数字转成阿拉伯数字
2011-06-02 13:15 2584首先得知道罗马数字是怎么回事: http://520920. ... -
有关于验证码的
2011-06-01 13:00 598验证码 是怎么出来的呢 应该有很多种方式,今天看到了一段代码中 ... -
转系统架构的一片文章
2011-05-13 14:27 689原文其实应该是.NET上面的 但是我觉得架构上同样适用 ... -
java中从汉字得到拼音的函数【转载】
2011-05-11 10:17 856public class GB2Alpha { ... -
后缀树 后缀数组 字符串的 那些面试题... 【烂,别点进来】
2011-04-24 16:28 1540最近在总结点面试题,好像放在公司里,忘记拷到U盘上了。回去传到 ... -
海量数据的匹配 bloom filter 【别进来 很烂】
2011-04-22 10:30 985引出 是老张说的腾讯的面试题 说 昨天有一亿个QQ登陆 ... -
Hello mina 【别进来 烂 会后悔】
2011-04-18 17:46 731mina nio 开源代码 以上是关键字 感觉 ... -
java nio & reactor
2011-04-15 14:26 816想看 java io很久了 菜的很 两个文章和一本书 小了解一 ... -
vm到jsp
2011-02-14 14:54 2075http://www.iteye.com/topic/1355 ... -
json&jsonP&跨域
2011-01-10 15:58 749http://www.ibm.com/developerwor ... -
PermGen space
2010-12-14 11:59 677http://blog.csdn.net/Jerry_R ... -
编程珠玑课后题,吝啬的初始化
2010-12-05 16:20 1000在这里,我们有一个稀疏的数组需要访问,并且在第一次访问的时 ... -
BitSet 原理&位操作&基本类型的大小
2010-12-05 11:52 1826因为在看编程珠玑 第一章讲到了 用BitSet来对N多数字进行 ... -
JVM 小总结
2010-11-25 14:22 619http://www.iteye.com/topic/8218 ... -
jdk5.0 6.0新特性
2010-11-25 08:18 536也许会被蛋疼的人问道吧 http://qwzhl100 ... -
对象的复制:ezmorph
2010-11-17 10:59 698ezmoph组件 http://blog.csdn.net/ ... -
how tomcat works
2010-11-16 17:36 944http://jarfield.iteye.com/blog/ ... -
ThreadLocal
2010-11-14 22:05 725起因还是那天培训 对这个了解不深刻 赶紧看看 ... -
ConcurrentHashMap记录
2010-11-14 21:09 779那天的讲座中 武祥提到了 ConcurrentHashMap ...
相关推荐
jdk1.6 源码
jdk源码, jdk源码 jdk源码, jdk源码, jdk源码, jdk源码 jdk源码 jdk源码 jdk源码
jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码
JDK1.7源码包JDK1.7源码包JDK1.7源码包JDK1.7源码包JDK1.7源码包
下载后直接去本机jdk目录里替换jdk中的src.zip 再打开idea就能看到中文版的源码注释 示例 https://blog.csdn.net/a7459/article/details/106495622
该压缩包中放的是jdk8的源码包,把该资源导入eclipse中就可看到jdk的源码!
jdk 8u60 源码下载: 导入请阅读IMPORT_README Main: sun.misc.Launcher
jdk 1.5源码 之前csdn上有看到 但是明显大小不对了 完整的应该有56M 由于大小限制 分割成4部分上传的
java jdk8 源码 JDK8 Java JDK8 源码学习
jdk 1.8 源码,具体版本为jdk-8u131,向下兼容1.7和1.6。
JDK1.7,JDK1.8源码包 经常需要看JDK的源码,看了一下,别人提供的源码包需要50积分才能下载。本机刚刚好安装了两个版本的源码1.7 和 1.8 就免费共享给大家咯
jdk1.8及jdk1.8源码
jdk1.6源码包,看源码的朋友可以看看.
jdk源码开发学习必备..........(jdk1.4的安装目录中也有改文件)
JDK源码,JDK源码,JDK源码,JDK源码,JDK源码,JDK源码,JDK源码
jdk-11.0.4-src.7z,jdk-11.0.4的源码、src源码,仅供学习参考交流。
jdk1.6源码;jdk1.6源码;jdk1.6源码;jdk1.6源码;jdk1.6源码;jdk1.6源码;jdk1.6源码;