几个面试题

ArrayList 和LinkedList的区别


平时还真没有去看过ArrayList和LinkedList的源码, 了解过一点数据结构制单ArrayList分配的内存空间是连续的在做链表的遍历时效率更高,而LinkedList的插入删除操作效率更高, 分配的内存空间是不连续.


下面我们先google一下看看别人怎么说:
查询:ArrayList的时间复杂度时O(1)而LinkedListd的时间复杂度是O(n)。造成这种差异的原因是它们的内部结构决定的。ArrayList是用数组实现的,在做查询操作的时候利用下表就能找到对应的元素,而LinkedList的底层实现是双向链表在查询的时候每次都会遍历整个链表。
删除、插入:人家写的明明白白在做删除操作的时候LinkedList的时间复杂度是O(1)只用改变指针指向的相邻的两个node, 而ArryaList最会的情况是O(n)删除的元素位于第一个的时候,在末尾的时间复杂的度是O(1),ArrayList在删除的时候会遍历整个list。
内存占用:LinkedList的消耗更高,不仅要储存元素还有下标和相邻的节点。


贴代码时间:


Euraka和ZK的区别

HashMap的结构

了解下拆装箱原理

Hibernate的三个状态的转换机制

了解下一二级缓存

Redis的数据结构和使用场景

IOC加载机制

AOP是如何实现代理的

java动态代理和cglib之间有什么区别

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容