主编推荐语
一本讲解Java高级程序员面试笔试的百科全书。
内容简介
《Java高级程序员面试笔试宝典》是一本讲解Java高级程序员面试笔试的百科全书,在写法上,除了讲解如何解答Java高级程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易理解。
由于Java高级程序员所需要掌握的知识体系,较之初级、中级程序员会更加底层,所以《Java高级程序员面试笔试宝典》会花费大量篇幅针对Java语言的高级特性(泛型、Collection框架、JUC框架、Java IO、JVM等)进行深度剖析。
《Java高级程序员面试笔试宝典》将Java高级程序员面试笔试过程中各类知识点一网打尽。在广度上,通过各种渠道,搜集了近3年主流IT企业针对高级Java程序员岗位的笔试、面试涉及的知识点,包括但不限于Java高级程序员必须掌握的各类技术点等,所选择知识点均为企业招聘考查的高频知识点。在讲解的深度上,《Java高级程序员面试笔试宝典》由浅入深,分析每一个知识点,并提炼归纳,同时,引入相关知识点,并对知识点进行深度剖析,让读者不仅能够理解这个知识点,也能游刃有余地解决相似的问题。本书结构合理、条理清晰,对于读者进行学习与检索意义重大。
《Java高级程序员面试笔试宝典》是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
目录
- 版权信息
- 前言
- 第一部分 Java特性
- 第1章 重视基础知识
- 1.1 不可变类
- 1.2 “==”、equals与hashcode
- 1.3 值传递与引用传递
- 1.4 Java关键字
- 1.4.1 static
- 1.4.2 final
- 1.4.3 transient
- 1.4.4 volatile
- 第2章 再论面向对象
- 2.1 继承
- 2.1.1 多重继承
- 2.1.2 Overload与Override
- 2.2 反射
- 2.3 嵌套类
- 第3章 泛型
- 3.1 基本概念
- 3.1.1 泛型的分类
- 3.1.2 有界泛型
- 3.1.3 复杂的泛型
- 3.1.4 数组和泛型容器
- 3.1.5 泛型使用建议
- 3.2 泛型擦除
- 3.2.1 泛型信息的擦除
- 3.2.2 擦除带来的问题
- 3.2.3 编译器保留的泛型信息
- 3.2.4 反射获取泛型信息
- 3.2.5 Java泛型的历史
- 第4章 Java新特性
- 4.1 Java 8新特性
- 4.1.1 Lambda表达式
- 4.1.2 方法的默认实现和静态方法
- 4.1.3 方法引用
- 4.1.4 注解(Annotation)
- 4.1.5 类型推测
- 4.1.6 参数名字
- 4.1.7 新增Optional类
- 4.1.8 新增Stream类
- 4.1.9 日期新特性
- 4.1.10 调用JavaScript
- 4.1.11 Base64
- 4.1.12 并行数组
- 4.2 Java 9新特性
- 4.2.1 JShell:交互式Java REPL
- 4.2.2 不可变集合工厂方法
- 4.2.3 私有接口方法
- 4.2.4 平台级模块系统
- 4.2.5 进程 API的改进
- 4.2.6 try-with-resources
- 4.2.7 Stream API的改进
- 第二部分 JDK内部实现原理分析
- 第5章 Collection框架
- 5.1 List
- 5.1.1 ArrayList
- 5.1.2 LinkedList
- 5.1.3 Vector和Stack
- 5.1.4 总结
- 5.2 Queue
- 5.3 Map
- 5.3.1 HashMap
- 5.3.2 Java 8之前的HashMap
- 5.3.3 Java 8提供的HashMap
- 5.3.4 TreeMap
- 5.3.5 Java 8之前的LinkedHashMap
- 5.3.6 Java 8里的LinkedHashMap
- 5.3.7 Hashtable
- 5.3.8 WeakHashMap
- 5.4 Set
- 5.4.1 HashSet
- 5.4.2 LinkedHashSet
- 5.4.3 TreeSet
- 第6章 JUC框架
- 6.1 AQS队列同步器
- 6.1.1 AQS的同步状态关键字
- 6.1.2 volatile关键字
- 6.1.3 AQS和CAS
- 6.1.4 AQS的等待队列
- 6.1.5 AQS如何阻塞线程和中断阻塞
- 6.1.6 sun.misc.Unsafe
- 6.2 ReentrantLock重入锁
- 6.2.1 ReentrantLock的公平锁与非公平锁实现
- 6.2.2 ReentrantLock的重入性
- 6.2.3 ReentrantLock和synchronized
- 6.2.4 ReentrantLock的条件监视器
- 6.3 BlockingQueue
- 6.3.1 ArrayBlockingQueue
- 6.3.2 LinkedBlockingQueue
- 6.3.3 PriorityBlockingQueue
- 6.3.4 ConcurrentLinkedQueue
- 6.3.5 DelayQueue
- 6.4 Executor框架集
- 6.4.1 Executor接口
- 6.4.2 ExecutorService
- 6.4.3 ThreadPoolExecutor
- 6.4.4 FixedThreadPool、CachedThreadPool和SingleThreadExecutor
- 6.4.5 Future和FutureTask
- 6.5 Latch
- 6.6 Barrier
- 6.6.1 利用重入锁ReentrantLock和条件监视器Condition实现Barrier
- 6.6.2 利用Generation对象实现回归性
- 6.6.3 利用Generation对象和Interrupt提供break功能
- 6.6.4 为Barrier指定超时
- 6.6.5 Barrier的回调和回调的异常处理
- 6.7 同步(wait¬ify)
- 6.8 ThreadLocal
- 6.8.1 使用实例
- 6.8.2 原理解析
- 6.8.3 Java 8新特性
- 6.9 其他JUC类
- 6.9.1 ConcurrentHashMap
- 6.9.2 CopyOnWriteArrayList
- 第7章 Java IO
- 7.1 IO相关基础概念
- 7.2 同步与异步、阻塞与非阻塞
- 7.3 BIO
- 7.4 NIO
- 7.4.1 Buffer
- 7.4.2 Channel
- 7.4.3 Selector
- 7.4.4 AIO
- 第三部分 JVM
- 第8章 内存分配
- 8.1 JVM内存划分
- 8.2 运行时内存划分
- 8.2.1 年轻代、老年代与永久代
- 8.2.2 String.intern()
- 8.2.3 原空间MetaSpace
- 8.3 垃圾回收
- 8.3.1 垃圾回收算法
- 8.3.2 串行垃圾回收
- 8.3.3 并行垃圾回收
- 8.3.4 并发标记清理回收器
- 8.3.5 G1
- 第9章 代码的执行
- 9.1 类加载
- 9.1.1 双亲委托模型
- 9.1.2 线程上下文类加载器
- 9.2 代理模式
- 9.2.1 静态模式
- 9.2.2 动态代理
- 9.2.3 CGLIB
- 9.3 Java代码的执行
- 9.3.1 Java字节码
- 9.3.2 变量的执行
- 9.3.3 条件语句的执行
- 9.3.4 循环语句的执行
- 9.3.5 泛型擦除的类型转换
- 第10章 设计模式
- 10.1 单例模式
- 10.2 工厂模式
- 10.3 适配器模式
- 10.4 观察者模式
- 附录 (常见面试笔试题)
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。