以下是一份系统的Java学习大纲,适合从入门到进阶的学习者。根据实际需求调整学习节奏,注重实践+理论结合。
开发环境搭建
JDK安装与配置
IDE使用(IntelliJ IDEA/Eclipse)
编写第一个Java程序(Hello World)
基础语法
变量与数据类型(基本类型、引用类型)
运算符与表达式
控制流程(if-else、switch、for、while)
数组与字符串操作
面向对象编程(OOP)
类与对象
封装、继承、多态
抽象类、接口
static、final关键字
内部类与匿名类
常用类库
Object类(equals、hashCode、toString)
包装类与自动拆装箱
时间日期API(Date、Calendar、LocalDateTime)
Math、Random类
集合框架(Collection Framework)
List(ArrayList、LinkedList)
Set(HashSet、TreeSet)
Map(HashMap、TreeMap、ConcurrentHashMap)
迭代器(Iterator)与Comparator排序
异常处理
异常分类(Checked/Unchecked)
try-catch-finally
自定义异常
IO流与NIO
字节流(InputStream/OutputStream)
字符流(Reader/Writer)
文件操作(File类)
NIO核心(Buffer、Channel、Selector)
泛型与反射
泛型类、方法、通配符
反射机制(Class、Method、Field)
Java 8+新特性
Lambda表达式
Stream API(集合操作)
Optional类
新日期API(LocalDate、LocalTime)
模块化(Java 9 Module)
SQL基础
数据库概念与SQL语法(MySQL/Oracle/PostgreSQL)
CRUD操作、事务、索引
JDBC编程
DriverManager、Connection、Statement
PreparedStatement防SQL注入
事务管理(commit/rollback)
连接池(HikariCP、Druid)
多线程与并发
Thread与Runnable
线程池(ExecutorService)
同步机制(synchronized、Lock、Atomic类)
并发工具类(CountDownLatch、CyclicBarrier)
CompletableFuture异步编程
JVM基础
内存模型(堆、栈、方法区)
垃圾回收算法(GC)
JVM参数调优(-Xms、-Xmx)
网络编程
TCP/UDP协议
Socket编程
HTTP客户端(HttpURLConnection、HttpClient)
设计模式
单例、工厂、策略、观察者等常用模式
Spring框架
Spring Core(IoC、AOP)
Spring MVC(Web开发)
Spring Boot(自动化配置、Starter)
Spring Data JPA(数据库操作)
MyBatis
配置文件与Mapper映射
动态SQL
整合Spring(MyBatis-Spring)
构建工具
Maven(依赖管理、生命周期)
Gradle基础
单元测试
JUnit 5
Mockito(模拟测试)
日志框架
SLF4J + Logback
精选实战项目
管理系统(学生管理/图书管理)
企业级博客平台(Spring Boot + MySQL + Thymeleaf)
分布式电商系统(Spring Cloud微服务)
RESTful API开发
技能扩展
Docker容器化部署
接口文档工具(Swagger)
代码版本控制(Git + GitHub)
书籍
《Java核心技术 卷I》
《Effective Java》
《Head First设计模式》
在线课程
慕课网、Coursera、B站优质教程
社区与工具
Stack Overflow、GitHub、LeetCode(算法练习)
深入方向
分布式架构(Spring Cloud Alibaba、Dubbo)
大数据(Hadoop、Spark)
Java源码分析与性能调优
证书与认证(可选)
Oracle认证(OCA/OCP)
学习建议:多写代码、参与开源项目、阅读优秀源码、定期复盘,结合项目实战巩固知识。