1. Java语言基础
- Java简介:Java的历史、特点和平台独立性
- JDK、JRE和JVM:三者关系及区别
- Java开发环境搭建:安装JDK和配置环境变量
- 第一个Java程序:Hello World示例
- Java注释:单行、多行和文档注释
- Java标识符:命名规则和约定
- Java关键字:50个保留关键字
- Java基本数据类型:8种原始数据类型
- 变量声明与初始化:局部变量、实例变量和类变量
- 常量:final关键字的使用
- 类型转换:自动类型转换和强制类型转换
- 运算符:算术、关系、逻辑、位、赋值等运算符
- 表达式与语句:表达式求值和语句结构
- 控制流程:if-else、switch-case
- 循环结构:for、while、do-while
- break和continue:循环控制语句
- 数组:声明、初始化和使用
- 多维数组:二维数组及应用
- 命令行参数:main方法的args参数
- var关键字:Java 10局部变量类型推断
2. 面向对象编程
- 面向对象概念:对象、类、封装、继承、多态
- 类与对象:定义类和创建对象
- 构造方法:默认构造方法和自定义构造方法
- this关键字:引用当前对象
- 方法重载:同名不同参数的方法
- static关键字:静态变量和方法
- final关键字:修饰类、方法和变量
- 包(package):创建和使用包
- 访问修饰符:public、protected、default、private
- 继承:extends关键字
- super关键字:调用父类成员
- 方法重写:子类重写父类方法
- Object类:所有类的超类
- toString()方法:对象字符串表示
- equals()方法:对象相等性比较
- hashCode()方法:对象哈希码
- 多态:编译时和运行时多态
- instanceof运算符:类型检查
- 抽象类:abstract关键字
- 接口:interface定义和实现
- 默认方法:Java 8接口默认方法
- 静态方法:Java 8接口静态方法
- 内部类:成员内部类、局部内部类
- 匿名内部类:没有名字的内部类
- 静态嵌套类:static修饰的内部类
- 枚举类型:enum定义和使用
- 注解:@Override等内置注解
- 自定义注解:定义和使用自定义注解
- 泛型:类型参数化
- 泛型类:定义带类型参数的类
- 泛型方法:定义带类型参数的方法
- 通配符:? extends和? super
- 类型擦除:Java泛型实现机制
- Lambda表达式:Java 8函数式编程
- 函数式接口:@FunctionalInterface
- 方法引用:::操作符
- Stream API:Java 8流式操作
- Optional类:处理可能为null的对象
- 模块系统:Java 9模块化
- 记录类(Record):Java 14简化数据类
3. 异常处理
- 异常概念:错误与异常的区别
- 异常体系结构:Throwable、Error、Exception
- 检查型异常:必须处理的异常
- 非检查型异常:RuntimeException
- try-catch-finally:异常捕获和处理
- 多重catch块:捕获多种异常
- throw关键字:抛出异常
- throws关键字:声明可能抛出的异常
- 自定义异常:创建用户定义的异常
- try-with-resources:Java 7自动资源管理
- 异常链:异常原因追踪
- 异常最佳实践:异常处理建议
4. 集合框架
- 集合框架概述:集合接口和类层次结构
- Iterable和Iterator:集合遍历接口
- Collection接口:集合基本操作
- List接口:有序可重复集合
- ArrayList:动态数组实现
- LinkedList:链表实现
- Vector:线程安全的动态数组
- Stack:后进先出(LIFO)结构
- Set接口:无序不重复集合
- HashSet:基于哈希表的Set实现
- LinkedHashSet:保持插入顺序的HashSet
- TreeSet:基于红黑树的排序Set
- Queue接口:队列数据结构
- Deque接口:双端队列
- PriorityQueue:优先级队列
- Map接口:键值对映射
- HashMap:基于哈希表的Map实现
- LinkedHashMap:保持插入顺序的HashMap
- TreeMap:基于红黑树的排序Map
- Hashtable:线程安全的Map实现
- Properties:配置属性处理
- Collections工具类:集合操作工具方法
- Arrays工具类:数组操作工具方法
- Comparable接口:自然排序
- Comparator接口:自定义排序
- fail-fast机制:快速失败迭代器
- 集合与泛型:类型安全的集合
- Java 8集合增强:forEach、Stream等
5. 输入输出(I/O)
- I/O流概念:输入流和输出流
- 字节流:InputStream和OutputStream
- FileInputStream:文件字节输入流
- FileOutputStream:文件字节输出流
- 字符流:Reader和Writer
- FileReader:文件字符输入流
- FileWriter:文件字符输出流
- 缓冲流:BufferedInputStream等
- 转换流:InputStreamReader和OutputStreamWriter
- 数据流:DataInputStream和DataOutputStream
- 对象流:ObjectInputStream和ObjectOutputStream
- 序列化:Serializable接口
- transient关键字:不序列化字段
- serialVersionUID:版本控制
- PrintStream和PrintWriter:打印流
- Scanner类:文本扫描
- File类:文件和目录操作
- RandomAccessFile:随机访问文件
- NIO概述:非阻塞I/O
- Path和Paths:NIO路径操作
- Files工具类:文件操作工具方法
- Buffer:NIO缓冲区
- Channel:NIO通道
- Selector:NIO多路复用
- 内存映射文件:MappedByteBuffer
6. 多线程编程
- 线程概念:进程与线程的区别
- 线程创建:继承Thread类和实现Runnable接口
- 线程状态:新建、就绪、运行、阻塞、死亡
- 线程优先级:设置和获取线程优先级
- 线程休眠:sleep方法
- 线程让步:yield方法
- 线程加入:join方法
- 线程中断:interrupt机制
- 守护线程:setDaemon方法
- 线程同步:synchronized关键字
- 同步代码块:使用对象锁
- 同步方法:实例方法和静态方法同步
- 死锁:产生条件和避免方法
- wait/notify:线程间通信
- Lock接口:显式锁
- ReentrantLock:可重入锁
- ReadWriteLock:读写锁
- Condition:条件变量
- volatile关键字:变量可见性
- 原子变量:AtomicInteger等
- 线程池:Executor框架
- ThreadPoolExecutor:自定义线程池
- Executors工具类:创建线程池
- Callable和Future:带返回值的任务
- FutureTask:可取消的异步计算
- CountDownLatch:倒计时门闩
- CyclicBarrier:循环屏障
- Semaphore:信号量
- Exchanger:线程间交换数据
- Fork/Join框架:分而治之
- ThreadLocal:线程局部变量
- 并发集合:ConcurrentHashMap等
- CompletableFuture:Java 8异步编程
- 并行流:parallelStream
- Java内存模型:JMM基本概念
7. 网络编程
- 网络基础:TCP/IP协议栈
- Socket编程:客户端/服务器模型
- TCP Socket:面向连接的通信
- UDP Socket:无连接的通信
- URL类:统一资源定位符
- URLConnection:URL连接
- HttpURLConnection:HTTP连接
- InetAddress:IP地址表示
- DatagramPacket:UDP数据包
- DatagramSocket:UDP套接字
- ServerSocket:TCP服务器套接字
- Socket选项:超时、缓冲区等设置
- NIO网络编程:非阻塞网络I/O
- Selector:多路复用网络连接
- HTTP客户端:Java 11+ HttpClient
8. 数据库编程
- JDBC概述:Java数据库连接
- JDBC驱动类型:四种JDBC驱动
- 连接数据库:DriverManager
- Connection接口:数据库连接
- Statement接口:执行SQL语句
- PreparedStatement:预编译SQL
- CallableStatement:调用存储过程
- ResultSet接口:结果集处理
- 事务管理:commit和rollback
- 批量处理:addBatch和executeBatch
- 元数据:DatabaseMetaData和ResultSetMetaData
- 连接池:DataSource和常见实现
- ORM概念:对象关系映射
- JPA简介:Java持久化API
9. 常用工具类
- String类:字符串操作
- StringBuilder和StringBuffer:可变字符串
- Math类:数学运算
- Random类:随机数生成
- Date类:日期时间(已过时)
- Calendar类:日历操作
- SimpleDateFormat:日期格式化
- Java 8日期时间API:LocalDate等
- System类:系统相关操作
- Runtime类:运行时环境
- Class类:类元数据
- 反射API:Class、Method、Field等
- 正则表达式:Pattern和Matcher
- UUID类:通用唯一标识符
- Base64编解码:Java 8 Base64类
- Objects工具类:对象操作工具方法
10. 其他重要主题
- JVM内存模型:堆、栈、方法区
- 垃圾回收:GC机制和算法
- System.gc():垃圾回收建议
- finalize方法:对象回收前清理
- Java国际化:Locale和ResourceBundle
- Java安全:SecurityManager
- JNI简介:Java本地接口
- Java代理:静态代理和动态代理
- Java性能调优:基本优化技巧
- Java代码规范:命名约定和最佳实践
- Javadoc:文档注释和生成
- 单元测试:JUnit基础
- 日志记录:java.util.logging
- Java 9-17新特性:各版本主要更新
- Java未来发展方向:路线图和趋势
喜欢的点个关注,想了解更多的可以关注微信公众号 “Eric的技术杂货库” ,提供更多的干货以及资料下载保存!