Java 后端开发的学习路径可以从基础到高级逐步展开,以下是一个详细的知识点清单,按主题划分:
1. Java 基础
- Java 语法
- 数据类型、变量、常量
- 运算符
- 流程控制(if、for、while、switch)
- 方法定义和调用
- 面向对象编程(类、对象、封装、继承、多态)
- 接口与抽象类
- 内部类和匿名类
- 异常处理(try-catch-finally、throws、throw)
- 常用 API(String、Math、Date、Collections)
- Java 泛型
- Java 枚举
- 注解(Annotations)
2. Java 集合框架
- Collection 接口
- List(ArrayList、LinkedList)
- Set(HashSet、TreeSet)
- Map(HashMap、TreeMap)
- 集合工具类(Collections)
- 迭代器(Iterator)
- 泛型集合
- 集合与线程安全(ConcurrentHashMap、CopyOnWriteArrayList)
3. Java IO 和 NIO
- Java IO(File、InputStream、OutputStream、Reader、Writer)
- 序列化与反序列化
- NIO(非阻塞 IO)
- Buffer、Channel、Selector
- 文件操作(FileChannel、FileLock)
4. 多线程与并发编程
- 线程的创建与生命周期
- Runnable 与 Callable
- 线程同步(synchronized、ReentrantLock)
- 线程通信(wait、notify、notifyAll)
- 并发容器(BlockingQueue、ConcurrentMap)
- 线程池(ExecutorService)
- Future 与 Callable
- CountDownLatch、CyclicBarrier
- Fork/Join 框架
- CompletableFuture
- Volatile 关键字
- CAS 操作
- 原子类(AtomicInteger、AtomicReference)
5. JVM 原理
- JVM 结构
- 类加载机制
- 内存区域(堆、栈、方法区、运行时常量池)
- 垃圾回收机制(GC)
- 垃圾回收算法(标记-清除、标记-整理、复制算法)
- 垃圾收集器(Serial、Parallel、CMS、G1)
- JVM 参数调优
- JIT 编译器
- 类文件结构(字节码)
6. Java 反射与动态代理
- 反射(Class 对象、Method、Field、Constructor)
- 动态代理(JDK 动态代理、CGLIB 代理)
- 自定义注解与反射结合
7. Java 网络编程
- TCP 编程(Socket、ServerSocket)
- UDP 编程(DatagramSocket)
- NIO 与异步 IO(AsynchronousSocketChannel)
- HttpClient 使用
- 网络多线程模型(Reactor 模型)
8. Spring 框架
- Spring 核心
- IOC(控制反转)
- DI(依赖注入)
- Bean 生命周期
- Spring AOP(面向切面编程)
- Spring MVC
- Controller、Service、Repository 层
- 请求映射(@RequestMapping)
- 参数校验(@Valid、@RequestParam)
- 数据绑定与校验
- Spring Boot
- Spring Boot 入门
- 配置文件(application.yml、application.properties)
- 自动配置原理
- Spring Boot Starter
- 异常处理
- 日志管理
- Spring Data JPA
- JPA 实体类映射
- Repository 接口
- 查询方法(自定义查询、@Query 注解)
- 事务管理(@Transactional)
- Spring Security
- 安全认证机制
- 角色与权限管理
- JWT 认证
9. 数据库
- SQL 基础(增删改查、JOIN、GROUP BY、HAVING)
- MySQL
- 数据库设计与规范化
- 索引与性能优化
- 事务与隔离级别
- 锁机制
- 主从复制、读写分离
- 分区与分库分表
- Redis
- 数据类型
- 缓存机制
- 分布式锁
- 缓存穿透、缓存雪崩
- 数据库连接池(HikariCP、Druid)
10. Web 服务与 API 开发
- RESTful API 设计
- URI 设计
- HTTP 方法(GET、POST、PUT、DELETE)
- 状态码
- Swagger API 文档生成
- JSON 与 XML 数据格式
- 文件上传与下载
- 跨域处理(CORS)
11. 消息队列
- RabbitMQ
- 消息模型(队列、交换机、绑定)
- 消息持久化
- 消息确认机制
- Kafka
- 分区、主题、副本机制
- 消费者组、消费者偏移量
- Kafka Stream
12. 微服务架构
- 微服务基础概念
- Spring Cloud
- 服务注册与发现(Eureka、Consul)
- 负载均衡(Ribbon、Feign)
- 服务网关(Zuul、Spring Cloud Gateway)
- 配置中心(Spring Cloud Config)
- 熔断与限流(Hystrix、Resilience4j)
- 分布式跟踪(Sleuth、Zipkin)
- Docker 容器化
- Docker 基础
- Dockerfile 编写
- 容器管理
- Kubernetes(K8s)基础
- Pod、Service、Deployment
- 集群管理
- Helm 包管理
13. 分布式系统与中间件
- 分布式事务
- 2PC、3PC
- TCC 模型
- Seata 分布式事务解决方案
- 分布式锁
- Redis 分布式锁
- Zookeeper 分布式锁
- CAP 理论与 BASE 理论
- 负载均衡算法
- 服务限流与降级
14. 日志与监控
- Log4j、SLF4J、Logback
- ELK 日志系统(Elasticsearch、Logstash、Kibana)
- Prometheus 监控与告警
- Grafana 数据展示
15. CI/CD(持续集成/持续交付)
- Git 版本控制
- Jenkins 自动化部署
- GitLab CI/CD
- Docker 在 CI/CD 中的使用
16. 系统设计与架构
- 高并发架构
- 负载均衡设计
- 缓存设计
- 数据库分库分表
- 一致性哈希
- 分布式存储
- 无状态与有状态服务
- 幂等性设计
- 系统可用性与扩展性设计
17. 性能优化
- Java 性能调优
- 数据库性能优化
- 缓存设计与优化
- JVM 调优工具(JVisualVM、JConsole、GCViewer)
18. 工具
- Git 使用
- Maven 项目管理
- Gradle 项目管理
- Postman API 调试
- JUnit 单元测试
- Mock 测试框架(Mockito)
这份学习清单覆盖了 Java 后端开发从基础到高级的知识点,建议逐步学习并实践,以提高开发技能。