一、Java
(一). 基础
- Java 基本功
1.1. Java 入门(基础概念与常识)
1.2. Java 语法
1.3. 基本数据类型
1.4. 方法(函数) - Java 面向对象
2.1. 类和对象
2.2. 面向对象三大特征
2.3. 修饰符
2.4. 接口和抽象类
2.4.1. 接口和抽象类的区别是什么?
2.5. 其它重要知识点 - Java 核心技术
3.1. 集合
3.2. 异常
3.3. 多线程
3.4. 文件与 I\O 流
(二). 容器
- ArrayList
1.1 ArrayList简介
1.2 ArrayList核心源码
1.3 ArrayList源码分析
1.4 ArrayList经典Demo - LinkedList
2.1 简介
2.2 内部结构分析
2.3 LinkedList源码分析
2.4 LinkedList类常用方法测试 - HashMap
3.1 HashMap 简介
3.2 底层数据结构分析
3.3 HashMap源码分析
3.4 get方法
3.5 resize方法
3.6 HashMap常用方法测试
(三). 并发
- 并发容器
1.1 JDK 提供的并发容器总结
1.2 ConcurrentHashMap
1.3 CopyOnWriteArrayList
1.4 ConcurrentLinkedQueue
1.5 BlockingQueue
1.6 ConcurrentSkipListMap - 线程池
2.1 使用线程池的好处
2.2 Executor 框架
2.3 (重要)ThreadPoolExecutor 类简单介绍
2.4 (重要)ThreadPoolExecutor 使用示例
2.5 几种常见的线程池详解
2.6 ScheduledThreadPoolExecutor 详解
2.7 线程池大小确定 - 乐观锁与悲观锁
3.1何谓悲观锁与乐观锁
3.2 乐观锁常见的两种实现方式
3.3 乐观锁的缺点
3.4 CAS与synchronized的使用情景 - Atomic
4.1 Atomic 原子类介绍
4.2 基本类型原子类
4.2.1 基本类型原子类介绍
4.3 数组类型原子类
4.4 引用类型原子类
4.5 对象的属性修改类型原子类 - AQS
5.1 AQS 简单介绍
5.2 AQS 原理
5.3 Semaphore(信号量)-允许多个线程同时访问
5.4 CountDownLatch (倒计时器)
5.5 CyclicBarrier(循环栅栏)
5.6 ReentrantLock 和 ReentrantReadWriteLock
(四). JVM
- Java内存区域
1.1 概述
1.2 运行时数据区域
1.3 HotSpot 虚拟机对象探秘
1.4 重点补充内容 - JVM垃圾回收
2.1 揭开 JVM 内存分配与回收的神秘面纱
2.2 对象已经死亡?
2.2.1 引用计数法
2.3 垃圾收集算法
2.4 垃圾收集器 - JDK 监控和故障处理工具
3.1 JDK 命令行工具
3.2 JDK 可视化分析工具 - 类文件结构
4.1 概述
4.2 Class 文件结构总结 - 类加载过程
5.1 类加载过程
5.2 卸载 - 类加载器
6.1 回顾一下类加载过程
6.2 类加载器总结
6.3 双亲委派模型
6.4 自定义类加载器
二、网络
(一). 计算机网络知识
- 计算机概述
1.1 基本术语
1.2 重要知识点总结 - 物理层
2.1 基本术语
2.2 重要知识点总结
2.3 最重要的知识点 - 数据链路层
3.1 基本术语
3.2 重要知识点总结
3.3 最重要的知识点 - 网络层
4.1 基本术语
4.2 重要知识点总结
4.3 最重要知识点 - 运输层
5.1 基本术语
5.2 重要知识点总结
5.3 最重要的知识点 - 应用层
6.1 基本术语
6.2 重要知识点总结
6.3 最重要知识点总结
(二). HTTPS中的TLS
- SSL 与 TLS
- 从网络协议的角度理解 HTTPS
- 从密码学的角度理解 HTTPS
3.1. TLS 工作流程
3.2. 密码基础
3.3. TLS 使用的密码技术
3.4. TLS 总结 - RSA 简单示例