本书是对Java程序员面试必备知识点的总结,详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等面试必备知识点,在讲解时不拖泥带水,力求精简。 本书总计9章,第1章讲解JVM原理,涉及JVM运行机制、JVM内存模型、常用垃圾回收算法和JVM类加载机制等内容;第2章讲解Java基础知识,涉及集合、异常分类及处理、反射、注解、内部类、泛型和序列化等内容;第3章讲解Java并发编程知识,涉及Java多线程的工作原理及应用、Java线程池的工作原理及应用,以及锁、进程调度算法等内容;第4章讲解数据结构知识,涉及栈、队列、链表、散列表、二叉树、红黑树、图和位图等内容;第5章讲解Java中的常用算法,涉及二分查找、冒泡排序、插入排序、快速排序、希尔排序、归并排序、桶排序、基数排序等算法;第6章讲解网络与负载均衡原理,涉及TCP/IP、HTTP、常用负载均衡算法和LVS原理等内容;第7章讲解数据库及分布式事务原理,涉及数据库存储引擎、数据库并发操作和锁、数据库分布式事务等内容;第8章讲解分布式缓存的原理及应用,涉及分布式缓存介绍、Ehcache原理及应用、Redis原理及应用、分布式缓存设计的核心问题等内容;第9章讲解设计模式,涉及常见的23种经典设计模式。 本书可作为Java程序员的技术面试参考用书,也可作为Java程序员、技术经理和架构师的日常技术参考用书。
内容简介
前言
第1章 JVM
1.1 JVM的运行机制
1.2 多线程
1.3 JVM的内存区域
1.4 JVM的运行时内存
1.5 垃圾回收与算法
1.6 Java中的4种引用类型
1.7 分代收集算法和分区收集算法
1.8 垃圾收集器
1.9 Java网络编程模型
1.10 JVM的类加载机制
第2章 Java基础
2.1 集合
2.2 异常分类及处理
2.3 反射机制
2.4 注解
2.5 内部类
2.6 泛型
2.7 序列化
第3章 Java并发编程
3.1 Java线程的创建方式
3.2 线程池的工作原理
3.3 5种常用的线程池
3.4 线程的生命周期
3.5 线程的基本方法
3.6 Java中的锁
3.7 线程上下文切换
3.8 Java阻塞队列
3.9 Java并发关键字
3.10 多线程如何共享数据
3.11 Concurrent Hash Map并发
3.12 Java中的线程调度
3.13 进程调度算法
3.14 什么是CAS
3.15 ABA问题
3.16 什么是AQS
第4章 数据结构
4.1 栈及其Java实现
4.2 队列及其Java实现
4.3 链表
4.4 散列表
4.5 二叉排序树
4.6 红黑树
4.7 图
4.8 位图
第5章 Java中的常用算法
5.1 二分查找算法
5.2 冒泡排序算法
5.3 插入排序算法
5.4 快速排序算法
5.5 希尔排序算法
5.6 归并排序算法
5.7 桶排序算法
5.8 基数排序算法
5.9 其他算法
第6章 网络与负载均衡
6.1 网络
6.2 负载均衡
第7章 数据库及分布式事务
7.1 数据库的基本概念及原则
7.2 数据库的并发操作和锁
7.3 数据库分布式事务
第8章 分布式缓存的原理及应用
8.1 分布式缓存介绍
8.2 Ehcache的原理及应用
8.3 Redis的原理及应用
8.4 分布式缓存设计的核心问题
第9章 设计模式
9.1 设计模式简介
9.2 工厂模式的概念及Java实现
9.3 抽象工厂模式的概念及Java实现
9.4 单例模式的概念及Java实现
9.5 建造者模式的概念及Java实现
9.6 原型模式的概念及Java实现
9.7 适配器模式的概念及Java实现
9.8 装饰者模式的概念及Java实现
9.9 代理模式的概念及Java实现
9.10 外观模式的概念及Java实现
9.11 桥接模式的概念及Java实现
9.12 组合模式的概念及Java实现
9.13 享元模式的概念及Java实现
9.14 策略模式的概念及Java实现
9.15 模板方法模式的概念及Java实现
9.16 观察者模式的概念及Java实现
9.17 迭代器模式的概念及Java实现
9.18 责任链模式的概念及Java实现
9.19 命令模式的概念及Java实现
9.20 备忘录模式的概念及Java实现
9.21 状态模式的概念及Java实现
9.22 访问者模式的概念及Java实现
9.23 中介者模式的概念及Java实现
9.24 解释器模式的概念及Java实现

