Java知识框架

一、Java 基础语法

1. 基础语法

  • 数据类型

    • 基本类型:int, double, boolean, char

    • 引用类型:String, 数组, 对象

  • 变量与常量

    • final 关键字

    • 作用域(局部变量、成员变量)

  • 运算符

    • 算术、逻辑、位运算

    • 三元运算符 ? :

  • 控制语句

    • if-else, switch-case

    • for, while, do-while

    • break, continue, return

2. 面向对象编程(OOP)

  • 类与对象

    • 类的定义、实例化

    • 构造方法(默认构造方法、重载)

  • 三大特性

    • 封装private/public/protected,Getter/Setter

    • 继承extendssuper,方法重写(@Override

    • 多态 :父类引用指向子类对象,instanceof

  • 抽象类与接口

    • abstract class vs interface

    • default 方法(Java 8+)

  • 内部类

    • 成员内部类、静态内部类、局部内部类、匿名内部类
  • 枚举(Enum)

    • 枚举类定义、values(), valueOf()

3. 常用类库

  • String & StringBuilder

    • String 不可变性,StringBuilder 可变
  • Arrays & Collections

    • Arrays.sort(), Arrays.asList()

    • List, Set, MapArrayList, HashSet, HashMap

  • 日期时间(Java 8+)

    • LocalDate, LocalTime, LocalDateTime

    • DateTimeFormatter

  • 异常处理

    • try-catch-finally

    • throws vs throw

    • 自定义异常


二、Java 进阶

4. 集合框架(Collection Framework)

  • List

    • ArrayList(动态数组)

    • LinkedList(双向链表)

  • Set

    • HashSet(基于 HashMap

    • TreeSet(有序,基于红黑树)

  • Map

    • HashMap(哈希表,put/get 原理)

    • TreeMap(有序,基于红黑树)

    • ConcurrentHashMap(线程安全)

  • 迭代器(Iterator)

    • hasNext(), next(), remove()
  • 工具类

    • Collections.sort(), Collections.synchronizedList()

5. 输入输出(I/O)

  • 字节流

    • InputStream, OutputStream

    • FileInputStream, FileOutputStream

  • 字符流

    • Reader, Writer

    • BufferedReader, BufferedWriter

  • NIO(New I/O)

    • Channel, Buffer, Selector

    • Files(Java 7+)

6. 多线程(Concurrency)

  • 线程创建

    • Thread

    • Runnable 接口

    • Callable + Future

  • 线程同步

    • synchronized 关键字

    • ReentrantLock

    • volatile 关键字

  • 线程池

    • ExecutorService

    • ThreadPoolExecutor

  • 并发工具

    • CountDownLatch, CyclicBarrier

    • BlockingQueueArrayBlockingQueue, LinkedBlockingQueue

7. 反射(Reflection)

  • Class 类

    • Class.forName(), obj.getClass()
  • Method & Field

    • getMethod(), invoke()

    • getField(), set()

  • 动态代理

    • Proxy.newProxyInstance()

8. 网络编程

  • TCP/UDP

    • Socket & ServerSocket

    • DatagramSocket

  • HTTP

    • HttpURLConnection

    • HttpClient(Java 11+)


三、Java 高级

9. JVM 与性能优化

  • JVM 内存模型

    • 堆(Heap)、栈(Stack)、方法区(Metaspace)

    • GC 算法(标记-清除、复制、分代收集)

  • JVM 调优

    • -Xms, -Xmx

    • jps, jstat, jmap, jstack

  • 类加载机制

    • 双亲委派模型

    • ClassLoader

10. 设计模式

  • 创建型

    • 单例模式(Singleton

    • 工厂模式(Factory

  • 结构型

    • 适配器模式(Adapter

    • 代理模式(Proxy

  • 行为型

    • 观察者模式(Observer

    • 策略模式(Strategy

11. Java 8+ 新特性

  • Lambda 表达式

    • (a, b) -> a + b
  • Stream API

    • filter(), map(), reduce()
  • Optional

    • Optional.ofNullable(), orElse()
  • 新日期 API

    • LocalDate, ZonedDateTime

12. 数据库 & ORM

  • JDBC

    • Connection, Statement, PreparedStatement
  • Hibernate / JPA

    • @Entity, @Table, @OneToMany
  • MyBatis

    • Mapper 接口,XML 配置

13. 框架

  • Spring

    • IoC & AOP

    • @Autowired, @Component

  • Spring Boot

    • 自动配置,application.yml

    • @RestController, @GetMapping

  • Spring Cloud

    • 微服务架构(Eureka, Feign, Hystrix

四、Java 生态

14. 开发工具

  • IDE

    • IntelliJ IDEA, Eclipse
  • 构建工具

    • Maven, Gradle
  • 版本控制

    • Git(git clone, git commit, git push

15. 测试

  • 单元测试

    • JUnit 5(@Test, @BeforeEach
  • Mock 测试

    • Mockito(when().thenReturn()

16. 部署 & DevOps

  • Docker

    • Dockerfile, docker-compose
  • CI/CD

    • Jenkins, GitHub Actions

五、学习路线建议

1. 初级阶段(1-3 个月)

  • Java 基础语法

  • OOP(封装、继承、多态)

  • 集合框架(ArrayList, HashMap

  • 异常处理

2. 中级阶段(3-6 个月)

  • 多线程(Thread, synchronized

  • I/O & NIO

  • 反射 & 注解

  • JDBC & 数据库

3. 高级阶段(6-12 个月)

  • JVM 调优

  • 设计模式

  • Spring & Spring Boot

  • 微服务(Spring Cloud)

4. 实战项目

  • 初级:学生管理系统(控制台版)

  • 中级:电商系统(Spring Boot + MySQL)

  • 高级:分布式微服务(Spring Cloud + Docker)


通过这个知识框架,你可以逐步掌握 Java 的核心技术,并进阶到企业级开发。建议结合官方文档(Oracle Java Docs)和实战项目练习!

相关推荐
lyw2056193 分钟前
RabbitMQ,Kafka八股(自用笔记)
java
邹诗钰-电子信息工程4 分钟前
嵌入式自学第二十一天(5.14)
java·开发语言·算法
有梦想的攻城狮13 分钟前
spring中的@MapperScan注解详解
java·后端·spring·mapperscan
寒小松20 分钟前
Problem E: List练习
java·数据结构·list
zimoyin22 分钟前
Kotlin 协程实战:实现异步值加载委托,对值进行异步懒初始化
java·前端·kotlin
恋猫de小郭26 分钟前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总
android·开发语言·javascript·kotlin
柚个朵朵1 小时前
Spring的Validation,这是一套基于注解的权限校验框架
java·后端·spring
于壮士hoho1 小时前
Python | Dashboard制作
开发语言·python
2301_803554521 小时前
c++和c的不同
java·c语言·c++
意倾城2 小时前
JVM内存模型
java·jvm