欢迎访问学兔兔,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 书籍手册>计算机与网络 >Java高级程序员面试笔试宝典 蔡羽等编著 2019年版

Java高级程序员面试笔试宝典 蔡羽等编著 2019年版

收藏
  • 大小:78.2 MB
  • 语言:中文版
  • 格式: PDF文档
  • 类别:计算机与网络
  • 更新日期:2024-04-13
推荐:升级会员 无限下载,节约时间成本!
关键词:宝典   笔试   面试   高级程序员   Java
资源简介
Java高级程序员面试笔试宝典
作者:蔡羽等编著
出版时间: 2019年版
内容简介
  《Java高级程序员面试笔试宝典》是一本讲解Java高级程序员面试笔试的百科全书,在写法上,除了讲解如何解答Java高级程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易理解。由于Java高级程序员所需要掌握的知识体系,较之初级、中级程序员会更加底层,所以《Java高级程序员面试笔试宝典》会花费大量篇幅针对Java语言的高级特性(泛型、Collection框架、JUC框架、Java IO、JVM等)进行深度剖析。《Java高级程序员面试笔试宝典》将Java高级程序员面试笔试过程中各类知识点一网打尽。在广度上,通过各种渠道,搜集了近3年主流IT企业针对高级Java程序员岗位的笔试、面试涉及的知识点,包括但不限于Java高级程序员必须掌握的各类技术点等,所选择知识点均为企业招聘考查的高频知识点。在讲解的深度上,《Java高级程序员面试笔试宝典》由浅入深,分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对知识点进行深度剖析,让读者不仅能够理解这个知识点,也能游刃有余地解决相似的问题。本书结构合理、条理清晰,对于读者进行学习与检索意义重大。《Java高级程序员面试笔试宝典》是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
目录
前言
部分 Java特性
第1章 重视基础知识2
1.1 不可变类2
1.2 “= =”、equals与hashcode4
1.3 值传递与引用传递6
1.4 Java关键字8
1.4.1 static8
1.4.2 final9
1.4.3 transient10
1.4.4 volatile10
第2章 再论面向对象12
2.1 继承12
2.1.1 多重继承12
2.1.2 Overload与Override14
2.2 反射15
2.3 嵌套类20
第3章 泛型22
3.1 基本概念22
3.1.1 泛型的分类23
3.1.2 有界泛型24
3.1.3 复杂的泛型27
3.1.4 数组和泛型容器28
3.1.5 泛型使用建议30
3.2 泛型擦除31
3.2.1 泛型信息的擦除31
3.2.2 擦除带来的问题33
3.2.3 编译器保留的泛型信息35
3.2.4 反射获取泛型信息37
3.2.5 Java泛型的历史39



第4章 Java新特性41
4.1 Java 8新特性41
4.1.1 Lambda表达式41
4.1.2 方法的默认实现和静态方法42
4.1.3 方法引用43
4.1.4 注解(Annotation)45
4.1.5 类型推测45
4.1.6 参数名字45
4.1.7 新增Optional类46
4.1.8 新增Stream类46
4.1.9 日期新特性48
4.1.10 调用JavaScript50
4.1.11 Base6450
4.1.12 并行数组50
4.2 Java 9新特性51
4.2.1 JShell:交互式Java REPL51
4.2.2 不可变集合工厂方法51
4.2.3 私有接口方法52
4.2.4 平台级模块系统53
4.2.5 进程 API的改进58
4.2.6 try-with-resources59
4.2.7 Stream API的改进60
第二部分 JDK内部实现原理分析
第5章 Collection框架63
5.1 List64
5.1.1 ArrayList64
5.1.2 LinkedList71
5.1.3 Vector和Stack73
5.1.4 总结74
5.2 Queue74
5.3 Map81
5.3.1 HashMap81
5.3.2 Java 8之前的HashMap82
5.3.3 Java 8提供的HashMap90
5.3.4 TreeMap101
5.3.5 Java 8之前的LinkedHashMap102
5.3.6 Java 8里的LinkedHashMap103
5.3.7 Hashtable106
5.3.8 WeakHashMap106
5.4 Set110
5.4.1 HashSet110
5.4.2 LinkedHashSet112
5.4.3 TreeSet113
第6章 JUC框架115
6.1 AQS队列同步器115
6.1.1 AQS的同步状态关键字116
6.1.2 volatile关键字117
6.1.3 AQS和CAS121
6.1.4 AQS的等待队列122
6.1.5 AQS如何阻塞线程和中断阻塞130
6.1.6 sun.misc.Unsafe131
6.2 ReentrantLock重入锁131
6.2.1 ReentrantLock的公平锁与非公平锁实现132
6.2.2 ReentrantLock的重入性135
6.2.3 ReentrantLock和synchronized138
6.2.4 ReentrantLock的条件监视器142
6.3 BlockingQueue145
6.3.1 ArrayBlockingQueue147
6.3.2 LinkedBlockingQueue153
6.3.3 PriorityBlockingQueue159
6.3.4 ConcurrentLinkedQueue164
6.3.5 DelayQueue172
6.4 Executor框架集175
6.4.1 Executor接口175
6.4.2 ExecutorService176
6.4.3 ThreadPoolExecutor177
6.4.4 FixedThreadPool、CachedThreadPool和SingleThreadExecutor190
6.4.5 Future和FutureTask193
6.5 Latch198
6.6 Barrier200
6.6.1 利用重入锁ReentrantLock和条件监视器Condition实现Barrier201
6.6.2 利用Generation对象实现回归性202
6.6.3 利用Generation对象和Interrupt提供break功能203
6.6.4 为Barrier指定超时205
6.6.5 Barrier的回调和回调的异常处理206
6.7 同步(wait¬ify)206
6.8 ThreadLocal209
6.8.1 使用实例209
6.8.2 原理解析211
6.8.3 Java 8新特性212
6.9 其他JUC类213
6.9.1 ConcurrentHashMap213
6.9.2 CopyOnWriteArrayList219
第7章 Java IO221
7.1 IO相关基础概念221
7.2 同步与异步、阻塞与非阻塞221
7.3 BIO222
7.4 NIO223
7.4.1 Buffer224
7.4.2 Channel226
7.4.3 Selector229
7.4.4 AIO234
第三部分 JVM
第8章 内存分配241
8.1 JVM内存划分241
8.2 运行时内存划分243
8.2.1 年轻代、老年代与永久代243
8.2.2 String.intern()244
8.2.3 原空间MetaSpace249
8.3 垃圾回收250
8.3.1 垃圾回收算法251
8.3.2 串行垃圾回收253
8.3.3 并行垃圾回收253
8.3.4 并发标记清理回收器254
8.3.5 G1256
第9章 代码的执行259
9.1 类加载259
9.1.1 双亲委托模型259
9.1.2 线程上下文类加载器262
9.2 代理模式265
9.2.1 静态模式265
9.2.2 动态代理269
9.2.3 CGLIB271
9.3 Java代码的执行273
9.3.1 Java字节码273
9.3.2 变量的执行275
9.3.3 条件语句的执行281
9.3.4 循环语句的执行289
9.3.5 泛型擦除的类型转换290
第10章 设计模式292
10.1 单例模式292
10.2 工厂模式292
10.3 适配器模式294
10.4 观察者模式295
附录(常见面试笔试题)296
下载地址