Files
wehub-resource-sync bdaa917396
Docs Test / Test docs (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 11:57:49 +08:00

115 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Java 知识体系:基础、集合、并发、JVM、IO 与新特性
description: Java 面试与知识体系学习路线,涵盖 Java 基础、集合源码、并发编程、JVM、IO/NIO 和 Java 新特性,适合校招、社招和 Java 后端面试复习。
category: Java
tag:
- Java
- Java基础
- Java面试
sitemap:
changefreq: weekly
priority: 0.95
head:
- - meta
- name: keywords
content: Java,Java基础,Java集合,Java并发,JVM,Java IO,Java NIO,Java新特性,Java面试题,Java后端面试
---
<!-- @include: @small-advertisement.snippet.md -->
这份 **Java 知识体系** 面向 Java 后端学习和面试复习,按“基础语法 -> 集合容器 -> 并发编程 -> IO/NIO -> JVM -> 新特性”的顺序整理本站 Java 相关文章。
如果你时间有限,建议先看 Java 基础、集合、并发和 JVM 的面试题总结,快速建立高频问题清单;如果你想系统补基础,可以按下面的专题顺序阅读。
## 适合谁看
- 正在系统学习 Java 的后端开发者。
- 准备校招、社招、中大厂 Java 后端面试的同学。
- 想把 Java 基础、集合、并发、JVM、IO 和新特性串起来复习的读者。
- 已经写过 Java 项目,但对底层原理、源码设计和工程实践理解不够系统的工程师。
## 学习重点
- Java 基础语法、面向对象、异常、泛型、反射、代理、序列化等核心机制。
- List、Map、Queue、并发容器的使用边界、源码实现和常见面试题。
- Java 线程、锁、JMM、CAS、AQS、线程池、CompletableFuture 和虚拟线程。
- JVM 内存区域、类加载、垃圾回收、参数配置、监控工具和线上问题排查。
- BIO、NIO、AIO、IO 模型,以及装饰器、适配器等 IO 相关设计模式。
- Java 8 到 Java 26 的重要新特性,以及哪些特性真正影响日常开发。
## 建议阅读顺序
1. [Java 基础专题](./basis/):先掌握语法、面向对象、泛型、反射、代理、序列化等基础能力。
2. [Java 集合专题](./collection/):理解 ArrayList、LinkedList、HashMap、ConcurrentHashMap 等常用容器的使用和源码。
3. [Java 并发编程专题](./concurrent/):系统学习线程、锁、JMM、CAS、AQS、线程池和并发工具类。
4. [JVM 专题](./jvm/):理解内存区域、类加载、垃圾回收、JVM 参数和线上排查。
5. [Java IO 专题](./io/):补齐 BIO、NIO、AIO、Reactor、多路复用和 IO 设计模式。
6. [Java 新特性专题](./new-features/):按版本梳理 Lambda、Stream、模块化、var、Record、虚拟线程等关键特性。
## 核心文章
### Java 基础
- [Java 基础专题](./basis/):从基础语法讲到核心机制和常见 Java 面试题。
- [Java基础常见面试题总结(上)](./basis/java-basic-questions-01.md):覆盖 Java 语言特点、基础语法、面向对象和常用类。
- [Java基础常见面试题总结(中)](./basis/java-basic-questions-02.md):继续梳理异常、泛型、反射、注解和常见细节。
- [Java基础常见面试题总结(下)](./basis/java-basic-questions-03.md):补齐高级基础知识和常见易错点。
- [Java 值传递详解](./basis/why-there-only-value-passing-in-java.md):厘清值传递、引用变量和对象修改之间的关系。
- [Java 序列化详解](./basis/serialization.md):理解序列化机制、serialVersionUID、安全风险和替代方案。
- [Java 反射机制详解](./basis/reflection.md) 和 [Java 代理模式详解](./basis/proxy.md):掌握框架底层常见机制。
### Java 集合
- [Java 集合专题](./collection/):串联集合框架、使用注意事项和常见源码分析。
- [Java集合常见面试题总结(上)](./collection/java-collection-questions-01.md) 和 [Java集合常见面试题总结(下)](./collection/java-collection-questions-02.md):覆盖 List、Set、Map、Queue 和并发集合高频问题。
- [Java集合使用注意事项总结](./collection/java-collection-precautions-for-use.md):总结集合判空、遍历、扩容、线程安全和性能相关注意点。
- [ArrayList 源码分析](./collection/arraylist-source-code.md)、[HashMap 源码分析](./collection/hashmap-source-code.md)、[ConcurrentHashMap 源码分析](./collection/concurrent-hash-map-source-code.md):从源码理解常用容器的设计取舍。
### Java 并发
- [Java 并发编程专题](./concurrent/):围绕线程、锁、内存模型、线程池和并发工具展开。
- [Java并发常见面试题总结(上)](./concurrent/java-concurrent-questions-01.md)、[Java并发常见面试题总结(中)](./concurrent/java-concurrent-questions-02.md)、[Java并发常见面试题总结(下)](./concurrent/java-concurrent-questions-03.md):建立并发面试问题清单。
- [JMMJava 内存模型)详解](./concurrent/jmm.md):理解可见性、原子性、有序性和 happens-before。
- [CAS 详解](./concurrent/cas.md)、[AQS 详解](./concurrent/aqs.md)、[Java 线程池详解](./concurrent/java-thread-pool-summary.md):掌握并发底层高频考点。
- [虚拟线程常见问题总结](./concurrent/virtual-thread.md):理解 Project Loom 对并发模型的影响。
### JVM 与 IO
- [JVM 专题](./jvm/):围绕内存、类加载、GC、参数、工具和线上排查展开。
- [Java内存区域详解(重点)](./jvm/memory-area.md):理解程序计数器、虚拟机栈、本地方法栈、堆和方法区。
- [JVM垃圾回收详解(重点)](./jvm/jvm-garbage-collection.md):理解对象存活判断、垃圾收集算法和主流垃圾收集器。
- [类加载过程详解](./jvm/class-loading-process.md) 和 [类加载器详解(重点)](./jvm/classloader.md):掌握类生命周期和双亲委派模型。
- [Java IO 专题](./io/):从 BIO、NIO、AIO 讲到 IO 模型和 IO 设计模式。
- [Java IO 基础知识总结](./io/io-basis.md)、[Java NIO 核心知识总结](./io/nio-basis.md)、[Java IO 模型详解](./io/io-model.md):补齐网络编程和中间件学习前置知识。
### Java 新特性
- [Java 新特性专题](./new-features/):按版本梳理 Java 8 之后的重要语言、标准库和 JVM 特性。
- [Java8 新特性实战](./new-features/java8-common-new-features.md):掌握 Lambda、Stream、Optional、接口默认方法和新日期 API。
- [Java 11 新特性概览(重要)](./new-features/java11.md)、[Java 17 新特性概览(重要)](./new-features/java17.md)、[Java 21 新特性概览(重要)](./new-features/java21.md):优先关注 LTS 版本中的长期可用特性。
## 高频问题
- Java 为什么是值传递?对象引用作为参数传递时到底发生了什么?
- `String``StringBuilder``StringBuffer` 有什么区别?
- `equals()``hashCode()` 有什么关系?
- `ArrayList``LinkedList` 如何选择?`HashMap` 为什么线程不安全?
- `ConcurrentHashMap` 在 JDK 7 和 JDK 8 中有什么变化?
- `synchronized``ReentrantLock` 有什么区别?
- JMM 如何保证可见性、有序性和原子性?
- 线程池核心参数如何配置?为什么不建议直接使用 `Executors`
- JVM 内存区域如何划分?哪些区域可能发生 OOM?
- G1、ZGC、Shenandoah 分别适合什么场景?
- BIO、NIO、AIO 有什么区别?Reactor 模型解决什么问题?
- Java 8、11、17、21 中哪些新特性最值得掌握?
## 相关专题
- [计算机基础](../cs-basics/)
- [系统设计](../system-design/)
- [数据库](../database/)
- [分布式系统知识体系](../distributed-system/)
- [高性能系统知识体系](../high-performance/)
<!-- @include: @article-footer.snippet.md -->