《Java知识点列表》v1.0
前言
本列表旨在提供一个系统化的Java知识框架,帮助开发者建立完整的知识体系,知识点按照“基础 -> 核心进阶 -> 高级特性 -> 生态与工具 -> 最佳实践”的顺序组织,每个大点下包含若干关键子点。

第一部分:Java 基础
-
Java 语言概述与环境搭建
- Java语言特点:跨平台、面向对象、简单、安全、健壮、高性能、多线程。
- JVM、JRE、JDK的区别与联系。
- 环境变量配置 (
JAVA_HOME,PATH)。 - 常用开发工具:IntelliJ IDEA, Eclipse, VS Code。
-
基本语法
- 数据类型:
- 基本类型:
byte,short,int,long,float,double,char,boolean。 - 引用类型: 类, 接口, 数组。
- 类型转换:自动类型提升与强制类型转换。
- 基本类型:
- 变量与常量:
- 局部变量、成员变量(实例变量)、静态变量(类变量)。
final关键字修饰常量。
- 运算符:
- 算术运算符 (, , , , , , )。
- 关系运算符 (
>,<,>=,<=, , )。 - 逻辑运算符 (
&&, , )。 - 位运算符 (
&, ,^, ,<<,>>,>>>)。 - 赋值运算符 (, , , 等)。
- 三元运算符 ()。
- 流程控制:
if-else条件语句。switch选择语句。for,while,do-while循环语句。break,continue,return跳转语句。
- 数据类型:
-
数组
- 一维数组的声明、创建、初始化与使用。
- 二维数组的声明、创建、初始化与使用。
- 数组的工具类
java.util.Arrays。
-
方法
(图片来源网络,侵删)- 方法的定义、声明、调用。
- 方法的重载。
- 值传递与引用传递(Java中只有值传递)。
- 可变参数 ()。
-
面向对象编程
- 类与对象:类的定义,对象的创建 (
new) 与使用。 - 三大特性:
- 封装:
private,public,protected,default访问修饰符;getter和setter方法。 - 继承:
extends关键字;方法重写;super关键字;Object类。 - 多态:父类引用指向子类对象;
instanceof操作符;方法重写与重载的区别。
- 封装:
- 抽象类与接口:
abstract关键字与抽象方法。interface接口的定义与实现 (implements)。- 接口与抽象类的区别。
- Java 8+ 接口的默认方法、静态方法和私有方法。
- 内部类:
- 成员内部类。
- 静态内部类。
- 局部内部类。
- 匿名内部类。
- 类与对象:类的定义,对象的创建 (
-
常用API
- 字符串:
String:不可变性,常用方法 (length(),charAt(),substring(),indexOf(),equals(),compareTo())。StringBuilder与StringBuffer:可变性,线程安全性区别。
- 包装类:
Integer,Double等,与基本类型的转换,自动装箱与拆箱。
- 日期时间API:
java.util.Date和java.sql.Date。- Java 8+ 的
java.time包:LocalDate,LocalTime,LocalDateTime,Instant,Duration,Period等。
- 数学工具类:
java.lang.Math。
- 字符串:
第二部分:Java 核心进阶
-
异常处理
try-catch-finally结构。throw与throws关键字。- 异常体系:
Throwable->Error(不可恢复) /Exception(可恢复) ->RuntimeException(非检查异常) /CheckedException(检查异常)。 - 自定义异常。
-
集合框架
(图片来源网络,侵删)- 核心接口:
Collection,List,Set,Map,Queue。 - 主要实现类:
List:ArrayList(数组实现),LinkedList(链表实现),Vector(线程安全)。Set:HashSet(基于HashMap),TreeSet(基于TreeMap, 有序)。Map:HashMap(核心),TreeMap(有序),Hashtable(线程安全),ConcurrentHashMap(高效并发)。
- 工具类:
java.util.Collections。 - 遍历方式:迭代器 (
Iterator)、增强for循环 (for-each)、Java 8+ Stream API。 equals()与hashCode():在集合框架中的重要性,以及重写时的约定。
- 核心接口:
-
泛型
- 泛型类、泛型接口、泛型方法。
- 通配符:,
? extends T,? super T。 - 类型擦除原理。
-
IO流
- 流的概念:字节流 (
InputStream/OutputStream) 与字符流 (Reader/Writer)。 - 节点流与处理流:
FileInputStream,BufferedReader,ObjectInputStream等。 - NIO (New I/O):
Channel,Buffer,Selector;Path,Files工具类。
- 流的概念:字节流 (
-
多线程与并发
- 基础:
- 线程的创建方式:继承
Thread类、实现Runnable接口、实现Callable接口。 - 线程的生命周期:新建、就绪、运行、阻塞、死亡。
- 线程同步:
synchronized关键字、Lock接口 (ReentrantLock)。 - 线程间通信:
wait(),notify(),notifyAll()。
- 线程的创建方式:继承
- 高级并发工具:
- 线程池:
ExecutorService,ThreadPoolExecutor,Executors工厂类。 - 并行集合:
ConcurrentHashMap,CopyOnWriteArrayList。 CountDownLatch,CyclicBarrier,Semaphore。ThreadLocal。Fork/Join框架。
- 线程池:
- 基础:
-
反射
Class类。- 获取类的构造方法、字段、方法。
- 动态创建对象、调用方法、访问字段。
- 注解与反射的结合。
-
注解
- 内置注解:
@Override,@Deprecated,@SuppressWarnings。 - 元注解:
@Retention,@Target,@Documented,@Inherited。 - 自定义注解。
- 内置注解:
第三部分:Java 高级特性
-
模块化系统 (Java 9+)
module-info.java文件。requires,exports,opens等关键字。- 解决“JAR 地狱”问题。
-
Lambda 表达式与 Stream API (Java 8+)
- Lambda 表达式语法与函数式接口 (
@FunctionalInterface)。 - Stream API:创建流、中间操作 (
filter,map,sorted,limit)、终端操作 (forEach,collect,reduce,count)。 Optional类:优雅地处理null值。
- Lambda 表达式语法与函数式接口 (
-
新特性概览 (Java 9 - 17+)
- Java 9: JShell,
var(局部变量类型推断), 集合工厂方法。 - Java 11:
var扩展到Lambda, HttpClient, ZGC (实验性)。 - Java 14+: Records (不可变类), Pattern Matching for
instanceof(模式匹配), Text Blocks (文本块)。 - Java 17+: Sealed Classes (密封类), Switch Expressions (switch表达式)。
- Java 9: JShell,
第四部分:Java 生态与工具
-
构建工具
- Maven: 项目对象模型、依赖管理、生命周期、仓库。
- Gradle: 基于Groovy/Kotlin的DSL,更灵活的构建脚本。
-
版本控制
- Git: 基本命令 (
clone,add,commit,push,pull,branch,merge)。 - GitHub / GitLab: 代码托管与协作平台。
- Git: 基本命令 (
-
单元测试
- JUnit: 常用注解 (
@Test,@Before,@After,@BeforeClass,@AfterClass)。 - Mockito: 用于模拟对象,进行隔离测试。
- JUnit: 常用注解 (
-
Web 开发
- Servlet: 生命周期、方法、
ServletContext。 - JSP (JavaServer Pages): 指令、动作、内置对象。
- 主流框架:
- Spring Framework: IoC (控制反转), AOP (面向切面编程)。
- Spring Boot: 自动配置、起步依赖、Actuator。
- Spring MVC: MVC架构实现。
- MyBatis / JPA: ORM框架。
- Servlet: 生命周期、方法、
-
数据库
- JDBC: 驱动加载、获取连接、创建
Statement/PreparedStatement、执行SQL、处理结果集。 - 连接池: Druid, HikariCP。
- JDBC: 驱动加载、获取连接、创建
第五部分:最佳实践与设计模式
-
代码规范
- 命名规范、注释规范、格式化。
- 遵循
阿里巴巴Java开发手册等业界标准。
-
设计模式
- 创建型: 单例模式、工厂模式、建造者模式。
- 结构型: 适配器模式、代理模式、装饰器模式。
- 行为型: 观察者模式、策略模式、模板方法模式。
-
性能调优
- JVM调优:内存模型、垃圾回收器 (Serial, Parallel, CMS, G1, ZGC)。
- 算法与数据结构选择。
- SQL优化。
- 并发编程优化。
-
安全
- SQL注入、XSS攻击、CSRF攻击的原理与防范。
- 密码加密存储 (如BCrypt)。
第六部分:展望与未来
- Project Loom (虚拟线程 - Java 19+)
轻量级线程,极大提升高并发场景下的吞吐量。
- Project Valhalla (值类型 -
在JVM中引入原生值类型,减少对象开销,提升性能。
- GraalVM
一门语言,一个运行时,支持AOT编译和原生镜像,提升启动速度和内存占用。
