ArrayList的实现原理

1.ArrayList概述

ArrayList是Lits可变数组的一种实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 

List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。
每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向
ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多
少,可在构造ArrayList时指定其容量。在添加大量元素前,应用程序也可以使用ensureCapacity操作来增加ArrayList
实例的容量,这可以减少递增式再分配的数量。
注意,此实现不是同步的。如果多个线程同时访问一个ArrayList实例,而其中至少一个线程从结构上修改了列表,
那么它必须保持外部同步。

hashcode与equal

Q:两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这 句话对不对

答:不对,有相同的 hash code
这是java语言的定义:
1) 对象相等则hashCode一定相等;
2) hashCode相等对象未必相等

狼狈的一天

辞职,这是另一个起点。

最近心情摇摆了好久,终于下定了决心,我还年轻,我还有追逐梦想的权利。QA这工作确实不是我自己喜欢的。但是好喜欢
网易这个公司,还记得当年的梦幻西游,大唐,那一个个游戏,都是我所钟爱的,大网易是我好想进的一个公司,怀着少年
时代的梦想,在实习生招聘中,拒绝了SAP,恒天,老师公司的offer,我一无反顾的来到我梦想中的公司,他确实是那么的
真实,工作环境也是那么nice,还有那号称一日五顿的免费餐,这一切的一切确实好赞。