基于jdk1.8的ArrayList源码分析. 实现List接口最常见的大概就四种,ArrayList, LinkedList, Vector, Stack实现,今天就着重看一下ArrayList的源码实现.ArrayList的底层结构就是最简单的数组,数据结构导致了它查询快,但是增删慢.另外官方也说了,ArrayList是线程不同步的.我觉得我有必贴一下官方文档的描述. Resizable-array implementation of the List interface. Implemen…
public final class Integer extends Number implements Comparable<Integer> Integer 由final修饰了,所以该类不能够被继承,同时 Integer 继承了Number类,因此可以将Integer转换成 int .double.float.long.byte和short类型的数据,另外,也实现了comparable接口,因此Integer类也可以进行自然排序. 构造方法只有两个: public Integer(int…
1 类注释 Class {@code Object} is the root of the class hierarchy. Every class has {@code Object} as a superclass. All objects, including arrays, implement the methods of this class. Object类是类层次结构的根,是每一个类的父类.所有的对象(包括数组)都是实现了object类的方法. 2 outline(大纲) outl…
1类签名与注释 public final class String implements java.io.Serializable, Comparable<String>, CharSequence String类被定义为final类型的,所以String对象一旦创建了,就是不可变的. String类实现了Serializable接口,表示可以序列化. String类实现了Comparable<String>接口,表示String类型可以相互比较.(通过compareTo方法) S…
1类签名和简介 package java.util; public class Observable Observable是Java内置的观察者模式中的主题类(没错,是类不是接口),和其对应的观察者接口是Observer,观察者模式是JDK中使用最多的模式之一. 观察者模式定义了对象之间的一对多的关系,这样一来,当一个对象(主题)改变状态时,它的所有依赖者(观察者)都会收到通知并自动更新. Observable内部使用Vector来存储注册的观察者实例,是线程安全的. 注意:jdk将Observ…
1类签名与简介 public class PriorityQueue<E> extends AbstractQueue<E> implements java.io.Serializable PriorityQueue是一个基于优先级堆的无限队列,无限的意思是说队列的容量可以自动扩容,最大容量为整形最大值.扩容规定如下当容量小于64时扩大为原来的2倍,否则扩大为原来的1.5倍(也就是容量增大50%). 优先级队列不允许null元素,也不允许插入不可比较的对象.不可比较是指待插入对象的…
1类签名与注释 public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence 一个可变的字符序列. 此类提供与StringBuffer相同的API,但不保证同步.在单线程中应该优先使用StringBuilder,因为它不需要同步,在大多数实现中将更快. StringBuilder的主要实现是append与insert方法,他们是重载的,以便接…