4 / 125
6、单例模式 – 懒汉式(线程非安全) ........................................................................................................................ 60
7、单例模式 – 懒汉式(线程安全) ............................................................................................................................. 60
8、单例模式 – 枚举实现(线程安全) ........................................................................................................................ 61
9、什么是工厂模式 ............................................................................................................................................................... 61
10、什么是建造者模式 ........................................................................................................................................................ 62
11、什么是代理模式 ............................................................................................................................................................. 62
12、什么是策略模式 ............................................................................................................................................................. 63
13、什么是装饰器模式 ........................................................................................................................................................ 64
14、什么是观察者模式 ........................................................................................................................................................ 65
15、什么是责任链模式 ........................................................................................................................................................ 67
16、什么是模板模式 ............................................................................................................................................................. 68
七、数据结构与集合框架 ............................................................................................................................................................. 69
1*、ArrayList 和 LinkedList 的区别 ................................................................................................................................... 69
2、集合中哪些是线程安全的,哪些是线程非安全的 ............................................................................................... 69
3*、HashMap 底层原理 ....................................................................................................................................................... 69
4、Map 有哪些实现类 .......................................................................................................................................................... 70
5*、简述几种常用的数据结构 ........................................................................................................................................... 70
6*、哈希表如何防止冲突 .................................................................................................................................................... 71
7、二叉树有哪几种遍历方式 ............................................................................................................................................. 72
8、什么是二叉搜索树 ........................................................................................................................................................... 72
9、什么是红黑树 .................................................................................................................................................................... 72
10*、HashSet 和 TreeSet 有何区别 .................................................................................................................................. 72
11*、二叉树、B 树和 B+树有何区别 .............................................................................................................................. 73
12、ArrayList 底层数组的扩容机制 .................................................................................................................................. 73
13、按员工的入职时间来排序用什么集合合适 .......................................................................................................... 73
14*、HashSet 的实现原理 ................................................................................................................................................... 73
15、Array 和 ArrayList 区别 ................................................................................................................................................ 74
八、JVM .............................................................................................................................................................................................. 75
1*、简述 JVM 内存模型 ....................................................................................................................................................... 75
2*、方法区中常量池的作用是什么 .................................................................................................................................. 75
3*、Java 中有哪几种类加载器 ........................................................................................................................................... 76
4*、什么是双亲委派机制 .................................................................................................................................................... 76
5*、Java 代码的执行流程 .................................................................................................................................................... 76
6、Java 中的执行引擎由哪些部分组成 .......................................................................................................................... 77
7*、解释 GC 内存回收机制 ................................................................................................................................................. 77
8*、如何进行 JVM 调优 ....................................................................................................................................................... 79
九、多线程 ......................................................................................................................................................................................... 81
1*、创建多线程有哪些方式 ................................................................................................................................................ 81
2*、调用 run 方法和调用 start 方法启动线程有什么区别 ....................................................................................... 81
3*、线程的生命周期 ............................................................................................................................................................. 81
4*、sleep 方法和 wait 方法的区别 ................................................................................................................................... 82
5*、并发编程的三大特性 .................................................................................................................................................... 82
6*、volatile 关键字有什么作用 .......................................................................................................................................... 82
7、什么是线程锁,是如何实现的 .................................................................................................................................... 83