一. 集合
- 集合的分类,以及各种集合的特性以及他们之间的区别,各种集合的遍历方式
重点:HashSet采用哈希算法,底层是由hashMap实现,默认初始化容量16,加载因子0.75,value源码中给默认值,外部数据存入key中 - HashMap的特性?它的底层原理?
- 遍历Map有哪些方式?
- ArrayList的扩容怎么做的?怎么样实现扩容的?是线程安全的吗?怎么去让他线程安全?
- 讲讲对HashMap的了解?不给值,它的默认大小是16
- List是有序的吗?Map是否有序?
List有序,而Map中HashMap无序,TreeMap和LinkedHashMap有序 - 线程安全的Map是用什么Map?
CurrentHashMap - 类型后面加…,表示什么含义?
表示可接受的参数个数不定,可以是一个也可以是多个
二.设计模式 - 你熟悉的设计模式,并解释,实际工作中哪些场景下用过什么设计模式?
- 单例模式的使用场景,在实际工作中有哪些地方用过?
三. 多线程 - 多线程有没有实际使用经验,在哪个场景下使用过?
- 多线程中run和start有什么区别?
- 线程异步或者同步分别怎么去实现?
- 线程池如何写?
四. 其他 - Switch支持long类型吗?不支持
因为switch中主要针对int,byte,short,char可隐式转化为int,而long类型转化为int时会丢失精度。所以暂不支持long。JDK7后增加了String类型。 - 堆栈的理解?
- String转成int或者Integer
int a=Integer.parseInt(String str) - Try,catch以及异常的合理抛出
- 垃圾回收有了解吗?介绍一下?
- StringBuild和StringBuffer的区别
- JDK8新增的功能有哪些?
本文深入探讨了Java集合框架中的HashSet、HashMap、ArrayList等数据结构的特点与工作原理,包括它们的内部实现、扩容机制及线程安全性。同时,文章讲解了多线程的基本概念,如线程的启动与运行区别、线程同步与异步的实现方法,以及线程池的创建与使用。此外,还涉及设计模式、垃圾回收机制和JDK8新特性等内容。
4429

被折叠的 条评论
为什么被折叠?



