平顶山公司做网站,建站公司跑路了域名怎么办,asp 网站 购物车,设计网站的企业(最近在看JDK源码#xff0c;只是拿着它的继承图在看#xff0c;但很多东西不记录仍然印象不深#xff0c;所以开始记录JDK阅读系列。) #xff08;一#xff09;Arrays Arrays比较特殊#xff0c;直接继承自Arrays -》List(Interface) -》Collection(Interface)。(Maybe…(最近在看JDK源码只是拿着它的继承图在看但很多东西不记录仍然印象不深所以开始记录JDK阅读系列。) 一Arrays Arrays比较特殊直接继承自Arrays -》List(Interface) -》Collection(Interface)。(Maybe因为Java中的数组本身就比较特殊)包含一些用来操作数组的一些方法比如排序搜索复制填充toString方法等 搜索使用二分搜索排序使用DualPivotQuickSort中的排序算法基本是改进版的快速排序但里面做了很多性能改进。 当数组元素比较少时使用插入排序或者改进后的插入排序每次两个元素一起插当数组元素较大时才会使用快排使用两个pivot将数组划分成四部分pivot1, pivot1xpivot2, 未排序, pivot2整个排序过程看起来有些麻烦但确实提高了排序性能下面会写专门一篇排序的数组排序应该也是Arrays类中的关键及精髓了 二LinkedList 继承关系为LinkedList -》Abstract Sequential List -》 Abstract List使用链表的各种操作其中为了提高效率类中有first和last变量记录链表的首部和尾部每个节点都会有前驱和后继这里要注意的是序列化的问题 所有的私有成员变量都标识为transient表示这些变量不会使用统一的序列化方法而是由用户自己定制。序列化与反序列化对象的序列化是指将Object对象转化为byte序列反之叫做对象的反序列化 序列化ObjectOutputStream, 反序列化ObjectInputStream序列化的好处能够自动弥补不同操作系统之间的差异。可以在运行Windows操作系统的计算机上创建一个对象将其序列化通过网络将它发送给一台运行Unix系统的计算机然后在那里能够准确的重新组装而不必担心数据在不同机器上的表示会不同也不必关心字节的顺序或者其他任何细节 三Vector 继承关系为vector -》 List(Interface), RandomAccess(Interface), AbstractList使用数组存储所有元素扩容可以在构造函数中指定扩容大小当容量溢出时扩容则为2倍扩大部分读写方法都是synchronized所以是线程安全的。 四ArrayList 继承关系为ArrayList -》 List(Interface), RandomAccess(Interface), AbstractList扩容每次扩容为原来的1.5倍基本如同数组的操作。 五Stack 继承关系为Stack》Vector所以使用了vector类的很多方法然后封装在poppushpeek等方法中实现stack的基本要求。 转载于:https://www.cnblogs.com/little-YTMM/p/5530846.html