y函数,删除和加入代价都很大
数组为什么可以随机读取,底层Object[]数组
写时复制 并发安全CopyOnWriteArrayList 写入操作的实现
copyOnWriteArrayList
ArrayList中删除偶数,不能用remove
多线程往ArrayList中写10万条数据,会出现什么问题
LinkedList
- arraylist对大片的连续内存有很高要求,linkedlist只需要碎片空间
- LinkedList为什么是双端链表,如果一个链表没有被引用,会被立马删除吗
- 分别分析一下插入、删除、查找的时间复杂度。LinkedList,增删快查询慢,
- 可以通过什么数据结构来加快LinkedList的访问
这两个插入哪个快。插入海量数据,arraylist和linkedlist哪个快
数组是否有并发安全问题(如何解决),ArrayList和linkedlist的多线程问题
Set:
Queue
Collections的区别
- 工具类
- Collections.sort和Arrays.sort:
- 集合的选用,是否排序
- collections有什么实现
Map:
泛型的理解和应用场景
-
使用泛型有什么好处
-
类方法接口
-
通配符
- 泛型中如何确定上下限(
<? extends T
> <? super T>
)
-
泛型检查
异常:
- 基本介绍
- exception和error区别。
- 异常继承的根类, 根类有哪些方法
- 编译期异常和非编译期异常区别
- 编译异常:
- Exception , throws,的作用
- try/catch机制
- 运行时异常:
- 遇到过哪些异常,(空指针在哪遇到了、SQL 异常、类型转换异常)
- Exception有哪些,从上往下说说看
- 谈谈 Java 异常处理机制
- final/finally/finalize的使用?
IO:
反射
- 反射的理解
- 应用场景:什么时候用,怎么用,用过吗
- 第一步: 获取类
- 获取构造: 你自己写过反射吗,反射可以调用私有构造函数吗
- 一个类的某个属性是私有的没有get/set方法,如何通过反射获取,代码上怎么具体实现
- 获取私有变量要怎么做,获取注解的信息要怎么做,反射效率低将反射结果进行缓存有遇到过吗
设计模式