以下是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