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