失效链接处理 |
java大数据面试基v2 PDF 下蝲
本站整理下蝲Q?/strong>
链接Q?a target="_blank">https://pan.baidu.com/s/1QDiGi0E3CagERKDEj_Ikzg
提取码:(x)bowf
相关截图Q?/strong>
![]()
主要内容Q?/strong>
1. java基础
1.1. java容器/集合
1.1.1.Collection-集合
1.1.1.1. List-有序集合
ArrayListQ数l实玎ͼ查询快,增删慢,轻量U;(U程不安?Q数l实现初始长?0Q扩容的的策略ؓ(f)Q取(oldCapacity * 3)/2 + 1
LinkedListQ双向链表实玎ͼ增删快,查询?(U程不安?
VectorQ数l实玎ͼ重量U?(U程安全、用少)
1.1.1.2. Set-无序无重复集?/div>
HashSet h比较好的d和查找性能Q线性不安全Q底层其实是包装了一个HashMapd现的?/div>
TreeSetQ实CSortedSet接口Q用TreeMap实现的,本质上是一个红黑树(wi)原理Q线性不安全Q排序分自然排序和定制排序,自然序通过对象的compareToҎ(gu)实现Q定制序通过兌一个Comparator对象实现。TreeSet中元素将按照升序排列Q默认是按照自然序q行排列
LinkedHashSetQHashSet的一个子c,用一个链表来l护元素的插入顺序,U性不安全Q哈希表+双向链表实现QLinkedHashSet的所有方法都l承自HashSet, 而它能维持元素的插入序的性质则承自LinkedHashMap?/div>
EnumSetQ专为枚丄型设计的集合Q因此集合元素必L枚DcdQ否则会(x)抛出异常?EnumSet集合也是有序的,光序就是Enumcd元素定义的顺序?EnumSet存取的速度非常快,扚w操作的速度也很快?/div>
transient关键字标记的成员变量不参与序列化q程
1.1.1.3. Queque-队列
非阻塞队列:(x)
*LinkedList
* PriorityQueuecd质上l护了一个有序列表。加入到 Queue 中的元素Ҏ(gu)它们的天然排序(通过?java.util.Comparable 实现Q或者根据传递给构造函数的 java.util.Comparator 实现来定位?/div>
* ConcurrentLinkedQueue 是基于链接节点的、线E安全的队列。ƈ发访问不需要同步。因为它在队列的Nd元素q从头部删除它们Q所以只要不需要知道队列的大小QConcurrentLinkedQueue 对公共集合的׃n讉K可以工作得很好。收集关于队列大的信息?x)很慢,需要遍历队列?/div>
d队列QBlockingQueue
* ArrayBlockingQueue Q一个由数组支持的有界队列。按 FIFOQ先q先出)排序
* LinkedBlockingQueue Q一个由链接节点支持的可选有界队列。按 FIFOQ先q先出)排序元素
* PriorityBlockingQueue Q一个由优先U堆支持的无界优先队列?/div>
* DelayQueue Q一个由优先U堆支持的、基于时间的调度队列?/div>
* SynchronousQueue Q一个利?BlockingQueue 接口的简单聚集(rendezvousQ机制?/div>
1.1.2. Map-键值集?/div>
HashMapQkey不能重复Q但是value可以重复Qkey的实现就是HashSetQvalue对应着放;允许null的键或|无序Q存入顺序和输出序无关Qnull key元素Q放|?号元素,q因子0.75Q?.8之后len>8转红黑树(wi)?/div>
HashtableQ线E安全的Q不允许null的键或|
Properties:Qkey和value都是StringcdQ用来读配置文gQ?/div>
LinkedHashMapQHashMap的子c,l护着一个运行于所有条目的双向链表。存储的数据是有序的Q可实现LRU自动回收式缓存?/div>
TreeMapQ对key排好序的Map; key是TreeSet, value对应每个key; key要实现Comparable接口或TreeMap有自q构造器Q红黑树(wi)实现?/div>
concurrentHashMapQ加入分D锁QSegmentQ;1.8后采用cas和syschronized
WeakHashMapQ通过使用WeakHashMap来引用缓存对象,由JVM对这部分~存q行回收?/div>
ConcurrentCacheQTomcat中的ConcurrentCache使用了WeakHashMap来实现缓存功能。且是分代缓存?/div>
1.2. 异常
1.2.1. Throwable-异常类
1.2.2.Exception-异常
Checked ExceptionQ可查的异常Q这是编码时非常常用的,所有checked exception都是需要在代码中处理的。它们的发生是可以预的Q正常的一U情况,可以合理的处理。比如IOExceptionQ或者一些自定义的异常。除了RuntimeException及其子类以外Q都是checked exception?/div>
Unchecked ExceptionQRuntimeException及其子类都是unchecked exception。比如NPEI指针异常,除数?的算数异常ArithmeticException{等Q这U异常是q行时发生,无法预先捕捉处理的。Error也是unchecked exceptionQ也是无法预先处理的?/div>
1.2.3. Error-错误
Error是错误,对于所有的~译时期的错误以及系l错误都是通过Error抛出的。这些错误表C故障发生于虚拟w、或者发生在虚拟图执行应用时Q如Java虚拟行错误(Virtual MachineErrorQ、类定义错误QNoClassDefFoundErrorQ等。这些错误是不可查的Q因为它们在应用E序的控制和处理能力?外,而且l大多数是程序运行时不允许出现的状况。对于设计合理的应用E序来说Q即使确实发生了错误Q本质上也不应该试图d理它所引v的异常状c?br />
|