从基础到进阶 · 核心知识点整理
Java 是强类型语言,所有变量必须先声明后使用。
封装 — 通过 private 隐藏内部状态,暴露公共方法。
继承 — extends 关键字实现代码复用。
多态 — 父类引用指向子类对象,运行时动态绑定。
Checked 编译时检查,必须处理 Unchecked 运行时异常,可不处理
| 区域 | 说明 |
|---|---|
| 堆 (Heap) | 所有对象实例、数组 |
| 栈 (Stack) | 局部变量、方法调用帧 |
| 方法区 (Metaspace) | 类信息、常量、静态变量 |
| 程序计数器 | 当前线程执行字节码行号 |
| 本地方法栈 | native 方法调用 |
常用收集器:Serial、Parallel、CMS、G1(默认 JDK 9+)、ZGC(低延迟)
String 不可变,线程安全;StringBuilder 可变,非线程安全(性能最好);StringBuffer 可变,线程安全(加锁)。
数组 + 链表/红黑树,key 的 hashCode 定位桶,冲突用链表/红黑树存储。默认容量 16,负载因子 0.75,扩容 2 倍。
== 比较引用地址(基本类型比值);equals 默认同 ==,通常重写为内容比较。
修饰类 → 不可继承;修饰方法 → 不可重写;修饰变量 → 不可变(基本类型值不变,引用类型指向不变)。
IDE:IntelliJ IDEA(最推荐)、Eclipse、VS Code
构建工具:Maven、Gradle
调试工具:jps / jstack / jmap / jstat / jconsole / VisualVM
常用框架:Spring Boot、Spring Cloud、MyBatis、Hibernate