以下是40个Java基础知识点的系统梳理,涵盖语法、面向对象、集合框架、异常处理等核心领域:
一、Java语言基础
JVM、JRE与JDK
- JVM(Java虚拟机):执行字节码的虚拟计算机
- JRE(Java运行环境):包含JVM和运行Java程序的核心类库
- JDK(Java开发工具包):包含JRE和开发工具(如javac、java等)
Java跨平台原理
一次编译,到处运行:Java程序编译为字节码(.class),由不同平台的JVM解释执行。基本数据类型
- 整数型:
byte(8位)、short(16位)、int(32位)、long(64位) - 浮点型:
float(32位)、double(64位) - 布尔型:
boolean - 字符型:
char(16位,Unicode)
- 整数型:
自动装箱与拆箱
基本数据类型与对应包装类的自动转换,如Integer i = 10;(装箱)和int j = i;(拆箱)。String、StringBuilder与StringBuffer
String:不可变对象,每次操作生成新对象StringBuilder:可变,非线程安全,性能高StringBuffer:可变,线程安全,性能低
二、面向对象编程
类与对象
类是对象的模板,对象是类的实例。通过new关键字创建对象。访问修饰符
private:仅本类可见protected:本类、同包、子类可见public:全局可见- 默认(无修饰符):同包可见
封装
通过访问控制符隐藏内部实现细节,提供公共方法访问私有属性。继承
子类通过extends关键字继承父类的属性和方法,支持单继承。多态
父类引用指向子类对象,通过方法重写实现不同行为,如Animal a = new Dog();。方法重载与重写
- 重载(Overload):同一类中方法名相同,参数列表不同
- 重写(Override):子类重写父类方法,方法签名相同
三、集合框架
Collection接口
存储单列数据的根接口,子接口包括List(有序可重复)、Set(无序唯一)。List实现类
ArrayList:动态数组,非线程安全LinkedList:双向链表,适合频繁插入删除Vector:线程安全(已过时,推荐使用Collections.synchronizedList)
Set实现类
HashSet:基于哈希表,无序TreeSet:基于红黑树,有序(自然排序或自定义排序)LinkedHashSet:基于哈希表和链表,保持插入顺序
Map接口
存储键值对,实现类包括HashMap(非线程安全)、TreeMap(按键排序)、Hashtable(线程安全)。泛型
参数化类型,如List<String>,提供编译时类型检查,避免类型转换异常。
四、异常处理
异常体系
Throwable是根类,分为Error(系统错误)和Exception(可处理异常)Exception又分为Checked Exception(编译时检查)和RuntimeException(运行时异常)
异常处理机制
try-catch-finally:捕获并处理异常throws:声明方法可能抛出的异常throw:手动抛出异常
自定义异常
继承Exception或其子类,创建自定义业务异常。
五、多线程编程
创建线程的方式
- 继承
Thread类,重写run()方法 - 实现
Runnable接口,重写run()方法 - 实现
Callable接口(有返回值),结合FutureTask使用
- 继承
线程生命周期
新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Terminated)。线程同步
synchronized关键字:修饰方法或代码块ReentrantLock:显式锁,提供更灵活的锁控制
线程通信
wait()、notify()、notifyAll():基于对象监视器Condition接口:结合ReentrantLock使用
六、IO流
IO流分类
- 按方向:输入流(
InputStream/Reader)、输出流(OutputStream/Writer) - 按类型:字节流(处理二进制数据)、字符流(处理文本数据)
- 按方向:输入流(
常用IO类
- 文件操作:
FileInputStream、FileOutputStream、FileReader、FileWriter - 缓冲流:
BufferedInputStream、BufferedReader等 - 对象序列化:
ObjectInputStream、ObjectOutputStream
- 文件操作:
序列化与反序列化
实现Serializable接口,通过ObjectOutputStream和ObjectInputStream实现对象的持久化。
七、反射机制
反射概念
在运行时动态获取类的信息(如属性、方法)并操作对象。核心类
Class、Field、Method、Constructor等。应用场景
框架开发(如Spring)、动态代理、注解处理等。
八、注解与泛型
内置注解
@Override:检查方法重写@Deprecated:标记过时元素@SuppressWarnings:抑制编译警告
自定义注解
使用@interface定义,结合元注解(@Retention、@Target等)指定注解的生命周期和使用范围。泛型通配符
? extends T:上界通配符(接受T及其子类)? super T:下界通配符(接受T及其父类)
九、常用工具类
日期时间API
- 旧API:
Date、Calendar - 新API(Java 8+):
LocalDate、LocalDateTime、DateTimeFormatter
- 旧API:
包装类
Integer、Double、Boolean等,提供基本类型与对象的转换。Math类
提供数学运算方法,如Math.random()、Math.sqrt()等。Arrays类
数组操作工具类,提供排序(sort())、查找(binarySearch())等方法。
十、其他基础
静态关键字
static修饰的成员属于类,而非实例- 静态代码块在类加载时执行一次
final关键字
- 修饰类:不可被继承
- 修饰方法:不可被重写
- 修饰变量:常量,不可修改
抽象类与接口
- 抽象类:包含抽象方法,不能实例化
- 接口:完全抽象,支持多实现
Java内存区域
- 堆(Heap):存储对象实例
- 栈(Stack):存储局部变量和方法调用
- 方法区:存储类信息、静态变量等
- 本地方法栈:Native方法调用
- 程序计数器:记录执行位置
通过系统掌握以上40个知识点,可构建扎实的Java编程基础,为进一步学习框架和高级特性奠定坚实根基。
Java 基础,核心知识点,2025 最新,面向对象编程,Java 变量,数据类型,运算符,流程控制,数组,字符串,集合框架,异常处理,多线程,IO 流,Java 面向对象
代码获取方式
https://pan.quark.cn/s/14fcf913bae6