以下是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,提供编译时类型检查,避免类型转换异常。

四、异常处理

异常体系

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

包装类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