Java程序员面试笔试宝典 第2版

Java程序员面试笔试宝典 第2版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 编著
2021-10
版次: 2
ISBN: 9787111690382
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 312页
字数: 479千字
11人买过
  • 本书是一本讲解Java程序员面试笔试的实用工具书。在写法上,除了讲解如何解答Java程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易地理解和掌握。
      本书囊括Java程序员面试笔试过程中的各类知识点。在内容广度上,搜集了近3年来几乎所有IT企业针对Java岗位的笔试面试涉及的知识点,包括但不限于Java核心知识点(容器、多线程和IO等)、Java Web(Struts、MyBatis、Kafka、Spring等)、数据库,所选择知识点均为企业招聘时所考查的知识点。在讲解的深度上,本书由浅入深,详细分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对其进行深度剖析,让读者不仅能够理解每个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容很多是其他同类书籍所没有的。书中根据知识点进行分门别类,结构合理,条理清晰,便于读者进行学习与检索。
      本书是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。 前言

    第1部分

    Java核心知识

    第1章 Java基础知识/2

    1.1 Java程序初始化的顺序/2

    1.2 构造方法/3

    1.3 Java中clone方法的作用/4

    1.4 反射/8

    1.5 Lambda表达式/11

    1.6 多态的实现机制/13

    1.7 Overload和Override的区别/14

    1.8 abstract class(抽象类)与

    interface(接口)的异同/15

    1.9 break、continue以及return的

    区别/17

    1.10 switch使用时的注意事项/17

    1.11 volatile的作用/20

    1.12 Java基本的数据类型/23

    1.13 不可变类/24

    1.14 值传递与引用传递的区别/26

    1.15   i与i  的区别/29

    1.16 字符串创建与存储的机制/30

    1.17 “==”、equals和hashCode的

    区别/36

    1.18 String、StringBuffer、StringBuilder

    和StringTokenizer的区别/37

    1.19 finally块中的代码什么时候被

    执行/39

    1.20 异常处理/42

    1.21 常见面试笔试真题/42

    第2章 流/52

    2.1 输入输出流/52

    2.1.1 Java IO流的实现机制/52

    2.1.2 管理文件和目录的类/54

    2.1.3 Java Socket/55

    2.1.4 Java序列化/55

    2.2 同步与异步、阻塞与非阻塞/58

    2.3 BIO/59

    2.4 NIO/60

    2.4.1 Buffer/61

    2.4.2 Channel/63

    2.4.3 Selector/65

    2.4.4 AIO/69

    2.5 常见面试笔试真题/72

    第3章 容器/74

    3.1 Collections框架/74

    3.2 ArrayList、Vector和LinkedList的

    区别/75

    3.3 Map/76

    3.3.1 HashMap/76

    3.3.2 Java8之前的HashMap/78

    3.3.3 Java8提供的HashMap/79

    3.3.4 TreeMap/80

    3.3.5 LinkedhashMap/81

    3.3.6 Java8之前的LinkedHashMap/81

    3.3.7 Java8中的LinkedHashMap/82

    3.3.8 Hashtable/86

    3.3.9 WeakHashMap/87

    3.3.10 HashMap、HashTable、TreeMap

    和WeakHashMap的区别/90

    3.3.11 用自定义类型作为HashMap或Hashtable

    的key需要注意的问题/90

    3.3.12 ConcurrentHashMap/94

    3.4 Set/98

    3.4.1 HashSet/99

    3.4.2 LinkedHashSet/99

    3.4.3 TreeSet/100

    3.5 BlockingQueue/100

    3.5.1 ArrayBlockingQueue/101

    3.5.2 LinkedBlockingQueue/103

    3.5.3 PriorityBlockingQueue/104

    3.5.4 ConcurrentLinkedQueue/106

    3.5.5 DelayQueue/108

    3.6 Collection 和 Collections的

    区别/110

    3.7 迭代器/111

    3.8 并行数组/112

    3.9 常见面试笔试真题/113

    第4章 多线程/121

    4.1 线程与进程/121

    4.2 同步和异步有什么区别/122

    4.3 如何实现Java多线程/122

    4.4 run与start的区别/125

    4.5 多线程同步/126

    4.6 Lock的分类/129

    4.7 synchronized与Lock的异同/135

    4.8 sleep与wait的区别/139

    4.9 终止线程的方法/140

    4.10 死锁/141

    4.11 守护线程/141

    4.12 join方法的作用/142

    4.13 如何捕获一个线程抛出的

    异常/143

    4.14 线程池/145

    4.14.1 Executor接口/145

    4.14.2 ExecutorService/146

    4.14.3 ThreadPoolExecutor/147

    4.14.4 线程池的使用方法/149

    4.15 ThreadLocal/152

    4.15.1 应用实例/152

    4.15.2 原理解析/153

    4.15.3 改进/155

    4.16 Latch/155

    4.17 Barrier/156

    4.18 Java中的Fork/Join框架/157

    4.19 CAS/162

    4.20 线程调度与优先级/165

    4.21 常见面试笔试真题/166

    第5章 内存分配/169

    5.1 JVM内存划分/169

    5.2 运行时内存划分/171

    5.2.1 年轻代、老年代与永久代/171

    5.2.2 元空间MetaSpace/172

    5.3 垃圾回收/173

    5.3.1 垃圾回收算法/173

    5.3.2 串行垃圾回收/175

    5.3.3 并行垃圾回收/176

    5.3.4 并发标记清理回收/176

    5.3.5 G1/178

    5.3.6 Shenandoah/180

    5.4 Java平台与内存管理/180

    5.4.1 为什么说Java是平台独立性

    语言/180

    5.4.2 Java平台与其他语言平台的区别/181

    5.4.3 JVM加载class文件的原理机制/181

    5.4.4 Java是否存在内存泄漏问题/182

    5.4.5 Java中的堆和栈的区别/184

    5.4.6 JVM常用的参数/185

    5.5 常见面试笔试真题/187

    第6章 设计模式/188

    6.1 设计模式中的原则/188

    6.1.1 单一职责原则/188

    6.1.2 开放封闭原则/189

    6.1.3 里氏替换原则/191

    6.1.4 依赖倒置原则/192

    6.1.5 接口隔离原则/193

    6.1.6 合成复用原则/194

    6.1.7 迪米特法则/195

    6.2 单例模式/195

    6.3 工厂模式/196

    6.4 适配器模式/197

    6.5 观察者模式/198

    6.6 常见面试笔试真题/199

    第2部分

    Java Web核心知识

    第7章 Struts/203

    7.1 Struts框架/203

    7.2 Struts框架响应客户请求的工作

    流程/205

    7.3 Struts框架的数据验证/205

    7.4 Form Bean的表单验证流程/205

    7.5 元素包含的属性/206

    7.6 ActionForm Bean的作用/206

    7.7 Struts2的请求处理流程/206

    7.8 Struts2中的拦截器/207

    7.9 Struts2国际化/207

    7.10 常见面试笔试真题/208

    第8章 MyBatis/209

    8.1 MyBatis缓存的基本概念/209

    8.2 MyBatis分页/210

    8.3
  • 内容简介:
    本书是一本讲解Java程序员面试笔试的实用工具书。在写法上,除了讲解如何解答Java程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易地理解和掌握。
      本书囊括Java程序员面试笔试过程中的各类知识点。在内容广度上,搜集了近3年来几乎所有IT企业针对Java岗位的笔试面试涉及的知识点,包括但不限于Java核心知识点(容器、多线程和IO等)、Java Web(Struts、MyBatis、Kafka、Spring等)、数据库,所选择知识点均为企业招聘时所考查的知识点。在讲解的深度上,本书由浅入深,详细分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对其进行深度剖析,让读者不仅能够理解每个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容很多是其他同类书籍所没有的。书中根据知识点进行分门别类,结构合理,条理清晰,便于读者进行学习与检索。
      本书是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
  • 目录:
    前言

    第1部分

    Java核心知识

    第1章 Java基础知识/2

    1.1 Java程序初始化的顺序/2

    1.2 构造方法/3

    1.3 Java中clone方法的作用/4

    1.4 反射/8

    1.5 Lambda表达式/11

    1.6 多态的实现机制/13

    1.7 Overload和Override的区别/14

    1.8 abstract class(抽象类)与

    interface(接口)的异同/15

    1.9 break、continue以及return的

    区别/17

    1.10 switch使用时的注意事项/17

    1.11 volatile的作用/20

    1.12 Java基本的数据类型/23

    1.13 不可变类/24

    1.14 值传递与引用传递的区别/26

    1.15   i与i  的区别/29

    1.16 字符串创建与存储的机制/30

    1.17 “==”、equals和hashCode的

    区别/36

    1.18 String、StringBuffer、StringBuilder

    和StringTokenizer的区别/37

    1.19 finally块中的代码什么时候被

    执行/39

    1.20 异常处理/42

    1.21 常见面试笔试真题/42

    第2章 流/52

    2.1 输入输出流/52

    2.1.1 Java IO流的实现机制/52

    2.1.2 管理文件和目录的类/54

    2.1.3 Java Socket/55

    2.1.4 Java序列化/55

    2.2 同步与异步、阻塞与非阻塞/58

    2.3 BIO/59

    2.4 NIO/60

    2.4.1 Buffer/61

    2.4.2 Channel/63

    2.4.3 Selector/65

    2.4.4 AIO/69

    2.5 常见面试笔试真题/72

    第3章 容器/74

    3.1 Collections框架/74

    3.2 ArrayList、Vector和LinkedList的

    区别/75

    3.3 Map/76

    3.3.1 HashMap/76

    3.3.2 Java8之前的HashMap/78

    3.3.3 Java8提供的HashMap/79

    3.3.4 TreeMap/80

    3.3.5 LinkedhashMap/81

    3.3.6 Java8之前的LinkedHashMap/81

    3.3.7 Java8中的LinkedHashMap/82

    3.3.8 Hashtable/86

    3.3.9 WeakHashMap/87

    3.3.10 HashMap、HashTable、TreeMap

    和WeakHashMap的区别/90

    3.3.11 用自定义类型作为HashMap或Hashtable

    的key需要注意的问题/90

    3.3.12 ConcurrentHashMap/94

    3.4 Set/98

    3.4.1 HashSet/99

    3.4.2 LinkedHashSet/99

    3.4.3 TreeSet/100

    3.5 BlockingQueue/100

    3.5.1 ArrayBlockingQueue/101

    3.5.2 LinkedBlockingQueue/103

    3.5.3 PriorityBlockingQueue/104

    3.5.4 ConcurrentLinkedQueue/106

    3.5.5 DelayQueue/108

    3.6 Collection 和 Collections的

    区别/110

    3.7 迭代器/111

    3.8 并行数组/112

    3.9 常见面试笔试真题/113

    第4章 多线程/121

    4.1 线程与进程/121

    4.2 同步和异步有什么区别/122

    4.3 如何实现Java多线程/122

    4.4 run与start的区别/125

    4.5 多线程同步/126

    4.6 Lock的分类/129

    4.7 synchronized与Lock的异同/135

    4.8 sleep与wait的区别/139

    4.9 终止线程的方法/140

    4.10 死锁/141

    4.11 守护线程/141

    4.12 join方法的作用/142

    4.13 如何捕获一个线程抛出的

    异常/143

    4.14 线程池/145

    4.14.1 Executor接口/145

    4.14.2 ExecutorService/146

    4.14.3 ThreadPoolExecutor/147

    4.14.4 线程池的使用方法/149

    4.15 ThreadLocal/152

    4.15.1 应用实例/152

    4.15.2 原理解析/153

    4.15.3 改进/155

    4.16 Latch/155

    4.17 Barrier/156

    4.18 Java中的Fork/Join框架/157

    4.19 CAS/162

    4.20 线程调度与优先级/165

    4.21 常见面试笔试真题/166

    第5章 内存分配/169

    5.1 JVM内存划分/169

    5.2 运行时内存划分/171

    5.2.1 年轻代、老年代与永久代/171

    5.2.2 元空间MetaSpace/172

    5.3 垃圾回收/173

    5.3.1 垃圾回收算法/173

    5.3.2 串行垃圾回收/175

    5.3.3 并行垃圾回收/176

    5.3.4 并发标记清理回收/176

    5.3.5 G1/178

    5.3.6 Shenandoah/180

    5.4 Java平台与内存管理/180

    5.4.1 为什么说Java是平台独立性

    语言/180

    5.4.2 Java平台与其他语言平台的区别/181

    5.4.3 JVM加载class文件的原理机制/181

    5.4.4 Java是否存在内存泄漏问题/182

    5.4.5 Java中的堆和栈的区别/184

    5.4.6 JVM常用的参数/185

    5.5 常见面试笔试真题/187

    第6章 设计模式/188

    6.1 设计模式中的原则/188

    6.1.1 单一职责原则/188

    6.1.2 开放封闭原则/189

    6.1.3 里氏替换原则/191

    6.1.4 依赖倒置原则/192

    6.1.5 接口隔离原则/193

    6.1.6 合成复用原则/194

    6.1.7 迪米特法则/195

    6.2 单例模式/195

    6.3 工厂模式/196

    6.4 适配器模式/197

    6.5 观察者模式/198

    6.6 常见面试笔试真题/199

    第2部分

    Java Web核心知识

    第7章 Struts/203

    7.1 Struts框架/203

    7.2 Struts框架响应客户请求的工作

    流程/205

    7.3 Struts框架的数据验证/205

    7.4 Form Bean的表单验证流程/205

    7.5 元素包含的属性/206

    7.6 ActionForm Bean的作用/206

    7.7 Struts2的请求处理流程/206

    7.8 Struts2中的拦截器/207

    7.9 Struts2国际化/207

    7.10 常见面试笔试真题/208

    第8章 MyBatis/209

    8.1 MyBatis缓存的基本概念/209

    8.2 MyBatis分页/210

    8.3
查看详情
12
相关图书 / 更多
您可能感兴趣 / 更多