首页/ 学科题库/ java

java

BACK 置顶 推荐

Java是一门面向对象的编程语言,以其跨平台、健壮性和安全性著称。

168篇教程
12个专题
24套试卷
3级知识点
点击任意节点选择「前往 教程 / 专题 / 试卷」;点击「分组」还可展开该组知识点 学科 级别 分组 知识点
前往
入门级

打好基础

8 组 · 65 篇

面向对象基础

8 篇
教程文章

类与对象

类是对象的模板,定义属性和行为;对象是类的实例,通过new关键字创建。类与对象是Java面向对象编程的核心概念。

6 分钟阅读
教程文章

封装

封装是面向对象三大特性之一,通过访问修饰符隐藏属性细节,提供公共方法访问,保护数据安全,提高代码可维护性。

6 分钟阅读
教程文章

继承

继承是面向对象三大特性之一,子类通过extends继承父类,获得父类的属性和方法,实现代码复用,支持单继承。

7 分钟阅读
教程文章

多态

多态是面向对象三大特性之一,同一方法在不同对象有不同表现。通过父类引用指向子类对象、方法重写、接口实现多态。

7 分钟阅读
教程文章

构造方法

构造方法用于创建对象时初始化属性,方法名与类名相同,无返回值。支持无参构造和有参构造,可相互调用。

6 分钟阅读
教程文章

this关键字

this关键字代表当前对象引用,用于区分成员变量与局部变量、调用本类其他构造方法、返回当前对象、调用本类方法。

5 分钟阅读
教程文章

static关键字

static关键字修饰成员变量和方法,使其属于类而非对象。静态成员通过类名访问,静态代码块用于类初始化,静态类用于工具类设计。

7 分钟阅读
教程文章

包与访问修饰符

包用于组织类,避免命名冲突;访问修饰符控制成员访问范围:private仅本类、protected子类可访问、public任意访问。

7 分钟阅读

基础IO与文件操作

8 篇
教程文章

文件与流的概念

Java IO的基础概念,理解文件作为数据存储载体、流作为数据传输通道的本质,掌握输入流与输出流的区别及使用场景。

6 分钟阅读
教程文章

File类

File类是Java中表示文件和目录路径的核心类,提供创建、删除、查询属性等操作,但不负责读写文件内容。

8 分钟阅读
教程文章

字节流与字符流

Java IO的核心分类,字节流以字节为单位处理所有数据类型,字符流以字符为单位处理文本数据并自动处理编码转换。

8 分钟阅读
教程文章

输入输出流

Java IO中输入流用于读取数据,输出流用于写入数据,掌握FileInputStream/FileOutputStream和FileReader/FileWriter的基本用法。

7 分钟阅读
教程文章

缓冲流

缓冲流通过内存缓冲区减少IO次数,显著提升读写效率,包括BufferedInputStream/BufferedOutputStream和BufferedReader/BufferedWriter。

7 分钟阅读
教程文章

转换流

转换流是字节流与字符流之间的桥梁,InputStreamReader和OutputStreamWriter可在转换时指定编码,解决乱码问题。

6 分钟阅读
教程文章

对象序列化

Java对象序列化将对象转换为字节序列存储或传输,反序列化恢复对象,需要实现Serializable接口,注意transient和serialVersionUID的使用。

8 分钟阅读
教程文章

NIO

Java NIO(Non-blocking IO)提供面向缓冲区、基于通道的高效IO操作,核心组件Buffer、Channel、Selector支持非阻塞模式和高并发场景。

10 分钟阅读

常用工具类

10 篇
教程文章

StringUtils

Apache Commons Lang的StringUtils提供空安全字符串操作,isEmpty/isBlank判断空串,trim截取空白,substring截取子串,format格式化等功能。

8 分钟阅读
教程文章

Collections

java.util.Collections是Java集合工具类,提供排序、查找、反转、填充、不可变集合等方法,是集合操作的核心工具。

8 分钟阅读
教程文章

Arrays

java.util.Arrays是数组操作工具类,提供排序、查找、填充、转字符串、转List等方法,是数组处理的核心工具。

7 分钟阅读
教程文章

IOUtils

Apache Commons IO的IOUtils提供流操作工具,toString读取流,copy复制流,closeQuietly安全关闭,简化IO编程代码。

6 分钟阅读
教程文章

FileUtils

Apache Commons IO的FileUtils提供文件操作工具,readFileToString读取文件,writeLines写入多行,copyFile复制文件,deleteDirectory删除目录。

7 分钟阅读
教程文章

DateUtils

Apache Commons Lang的DateUtils提供日期操作工具,addDays增加天数,isSameDay比较同一天,truncate截断日期,parseDate解析字符串。

7 分钟阅读
教程文章

MathUtils

Apache Commons Math的MathUtils提供数学计算工具,同时Java标准库java.lang.Math提供基础数学运算如sqrt、pow、abs、round等。

6 分钟阅读
教程文章

System类

java.lang.System是Java系统核心类,提供标准输入输出流、时间获取、系统属性访问、数组复制、程序退出等功能。

7 分钟阅读
教程文章

ObjectUtils

Apache Commons Lang的ObjectUtils提供对象操作工具,equals空安全比较,defaultIfNull提供默认值,isNull/notNull判断空,compare比较对象。

6 分钟阅读
教程文章

ExceptionUtils

Apache Commons Lang的ExceptionUtils提供异常处理工具,getStackTrace获取堆栈字符串,getRootCause获取根异常,getMessage获取异常消息。

6 分钟阅读

运算符与流程控制

11 篇
教程文章

算术运算符

Java算术运算符包括加减乘除(+、-、*、/)和取模(%),支持整数和浮点数运算。注意整数除法截断、除零异常、自增自减前后位置区别。

5 分钟阅读
教程文章

关系运算符

关系运算符比较两个值的关系,返回boolean结果。包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。

5 分钟阅读
教程文章

逻辑运算符

逻辑运算符用于boolean表达式:&&短路与、||短路或、!非、&逻辑与、|逻辑或。短路运算符遇false/true立即停止,效率更高。

6 分钟阅读
教程文章

赋值运算符

赋值运算符包括基本赋值(=)和复合赋值(+=、-=、*=、/=、%=)。复合赋值自动类型转换,左边必须是已声明变量。

5 分钟阅读
教程文章

条件运算符

条件运算符(三元运算符)格式:条件 ? 表达式1 : 表达式2。条件为true返回表达式1,否则返回表达式2。简洁替代简单if-else。

5 分钟阅读
教程文章

if-else语句

if-else是条件分支语句,根据条件真假执行不同代码块。支持单if、if-else、if-else if-else多分支。条件必须是boolean表达式。

6 分钟阅读
教程文章

switch语句

switch语句是多分支选择结构,根据表达式值匹配case执行。支持byte/short/int/char/String/enum类型。Java 14+支持箭头语法和多个值匹配。

6 分钟阅读
教程文章

for循环

for循环是最常用的循环结构,格式:for(初始化;条件;更新){循环体}。适合已知次数的循环,支持增强for循环遍历集合数组,循环变量作用域限于循环内。

6 分钟阅读
教程文章

while循环

while循环先判断条件再执行,格式:while(条件){循环体}。适合不确定次数的循环,条件为false时结束。注意循环体内必须有改变条件的操作避免无限循环。

5 分钟阅读
教程文章

do-while循环

do-while循环先执行后判断,格式:do{循环体}while(条件);。至少执行一次,适合输入验证、菜单选择等必须执行一次的场景。

5 分钟阅读
教程文章

break和continue

break跳出循环或switch,continue跳过当前循环继续下次。break结束整个循环,continue只跳过本次。支持带标签的break/continue跳出指定循环。

6 分钟阅读

数组与方法

8 篇
教程文章

数组的定义与初始化

Java数组是固定长度的同类型元素集合,使用new关键字创建或直接初始化。数组索引从0开始,length属性获取长度,声明时指定元素类型。

6 分钟阅读
教程文章

数组的遍历

数组遍历方式包括for循环、增强for循环(for-each)、while循环、迭代器。for循环可修改元素,for-each简洁但不能修改,Arrays.toString快速输出。

5 分钟阅读
教程文章

数组的常见操作(排序、查找)

Arrays工具类提供sort排序、binarySearch二分查找、fill填充、copyOf复制等方法。手动实现冒泡排序、线性查找、二分查找理解原理。

7 分钟阅读
教程文章

方法的定义与调用

Java方法是代码的封装单元,定义格式:修饰符 返回类型 方法名(参数列表){方法体}。调用通过对象名.方法名()或类名.静态方法()执行。

6 分钟阅读
教程文章

方法的参数传递

Java方法参数传递是值传递,基本类型传递值副本,引用类型传递引用副本(地址)。方法内修改基本类型不影响原变量,修改引用类型对象内容会影响原对象。

6 分钟阅读
教程文章

方法的返回值

方法返回值使用return关键字返回结果,void表示无返回值。return立即结束方法,返回类型可以是基本类型、引用类型或数组。可返回null或对象。

5 分钟阅读
教程文章

方法的重载

方法重载是同一类中方法名相同但参数列表不同的多个方法。重载规则:参数数量不同、参数类型不同、参数顺序不同。返回类型和修饰符不影响重载。

6 分钟阅读
教程文章

递归方法

递归是方法调用自身,必须有终止条件和递归调用。经典应用包括阶乘、斐波那契数列、汉诺塔。注意递归深度避免栈溢出,深度递归考虑迭代替代。

6 分钟阅读

字符串

8 篇
教程文章

Java字符串基础

Java字符串是String类对象,使用双引号创建,存储在字符串常量池。字符串是引用类型,底层是char数组(Java 9+改为byte数组)。

6 分钟阅读
教程文章

字符串不可变性

Java字符串是不可变的,一旦创建内容不能修改。不可变性保证字符串安全、支持常量池优化、适合作为HashMap键,但拼接会产生新对象。

6 分钟阅读
教程文章

字符串常用方法

String类提供丰富的操作方法:substring截取、indexOf查找、replace替换、split分割、trim去空格、toUpperCase/toLowerCase转换大小写。

8 分钟阅读
教程文章

字符串比较

字符串比较使用equals比较内容,==比较引用地址。compareTo比较字典序,equalsIgnoreCase忽略大小写比较,compareToIgnoreCase忽略大小写排序。

6 分钟阅读
教程文章

字符串拼接与性能

字符串拼接方式包括+运算符、concat方法、StringBuilder、StringBuffer。大量拼接推荐StringBuilder,+运算符编译优化适合少量拼接,循环拼接避免使用+。

6 分钟阅读
教程文章

StringBuilder与StringBuffer

StringBuilder是可变字符串序列,非线程安全,性能高,适合单线程拼接。StringBuffer线程安全(synchronized),适合多线程。append/insert/delete/reverse等方法操作字符串。

7 分钟阅读
教程文章

字符串与字符数组转换

字符串与字符数组可相互转换:toCharArray将字符串转为字符数组,new String(chars)将字符数组转为字符串。getBytes转为字节数组,支持指定编码。

6 分钟阅读
教程文章

正则表达式与字符串

Java正则表达式通过Pattern和Matcher类实现,String类的matches、replaceAll、replaceFirst、split方法支持正则。常用元字符包括\d数字、\w字母数字、[]字符集等。

7 分钟阅读
进阶级

核心能力

6 组 · 52 篇

泛型详解

9 篇
教程文章

泛型类

泛型类在类定义时指定类型参数,用于创建类型安全的类。本文介绍泛型类的定义、使用和常见应用场景。

6 分钟阅读
教程文章

泛型接口

泛型接口在接口定义时声明类型参数,实现类可指定具体类型或保留泛型。本文介绍泛型接口的定义和两种实现方式。

6 分钟阅读
教程文章

泛型方法

泛型方法在方法声明时定义类型参数,可在普通类或泛型类中定义。本文介绍泛型方法的定义、调用和类型推断。

7 分钟阅读
教程文章

类型通配符

类型通配符用于处理不确定的具体类型,包括无界通配符 <?>、上界通配符 <? extends T> 和下界通配符 <? super T>。本文介绍三者的使用方法和 PECS 原则。

8 分钟阅读
教程文章

类型擦除

Java 泛型通过类型擦除实现,编译时泛型信息被擦除,运行时不存在。本文介绍类型擦除原理、影响及如何获取泛型信息。

8 分钟阅读
教程文章

泛型与继承

泛型类型之间不存在继承关系,List<String> 不是 List<Object> 的子类。本文介绍泛型继承规则、类型安全问题和协变逆变概念。

7 分钟阅读
教程文章

泛型与反射

虽然泛型在运行时被擦除,但反射可通过 Signature 属性获取部分泛型信息。本文介绍如何通过反射获取泛型类型信息。

9 分钟阅读
教程文章

泛型与数组

Java 不允许创建泛型数组,原因在于类型擦除后的类型安全问题。本文介绍泛型数组限制、替代方案和协变逆变概念。

8 分钟阅读
教程文章

泛型最佳实践

泛型使用有诸多限制和注意事项,本文总结泛型最佳实践,包括类型参数命名、PECS 原则、避免转型、消除警告等。

10 分钟阅读

反射与注解

10 篇
教程文章

Java反射机制概述

反射是Java动态性的核心机制,允许程序在运行时获取类信息并操作类成员,本文介绍反射的基本概念、核心类与典型应用场景。

6 分钟阅读
教程文章

Java Class对象获取

Class对象是反射的入口,本文详解获取Class对象的三种方式及其适用场景与差异。

5 分钟阅读
教程文章

Java构造器反射

构造器反射允许动态创建对象,本文详解获取构造器、创建实例以及处理私有构造器的方法。

6 分钟阅读
教程文章

Java方法反射

方法反射允许动态调用任意方法,本文详解获取方法对象、执行方法调用以及处理重载与私有方法。

6 分钟阅读
教程文章

Java字段反射

字段反射允许动态访问和修改对象属性,本文详解获取字段、读写字段值以及处理私有字段的方法。

5 分钟阅读
教程文章

Java注解定义

注解是Java元数据机制,本文详解注解的定义语法、成员声明以及三种保留策略的使用。

5 分钟阅读
教程文章

Java元注解

元注解用于修饰注解本身,本文详解@Retention、@Target、@Inherited、@Documented、@Repeatable五种元注解的使用。

6 分钟阅读
教程文章

Java注解处理器

注解处理器在编译期处理注解,生成代码或进行检查,本文详解AbstractProcessor的使用、注册方式及完整实现流程。

8 分钟阅读
教程文章

Java运行时注解

运行时注解通过反射读取,广泛应用于框架配置,本文详解注解的反射API、实战示例及ORM框架实现原理。

6 分钟阅读
教程文章

Java编译时注解

编译时注解在编译阶段处理,性能优于运行时反射,本文详解APT原理、Lombok实现原理及实战代码生成。

7 分钟阅读

IO与NIO深入

10 篇
教程文章

字节流与字符流

字节流处理二进制数据,字符流处理文本数据并自动处理编码转换。本文介绍两者的区别和使用方法。

7 分钟阅读
教程文章

缓冲流与转换流

缓冲流通过内部缓冲区减少 IO 调用次数,转换流实现字节流和字符流之间的编码转换。本文介绍两者的使用方法。

8 分钟阅读
教程文章

对象序列化

Java 对象序列化将对象转换为字节流,便于存储和传输。本文介绍 Serializable 接口、ObjectOutputStream/ObjectInputStream 使用方法及注意事项。

8 分钟阅读
教程文章

NIO 核心组件(Channel、Buffer、Selector)

Java NIO 的三大核心组件:Channel(通道)、Buffer(缓冲区)、Selector(选择器),实现高效的 IO 操作。本文介绍三者的原理和使用方法。

10 分钟阅读
教程文章

文件锁与内存映射文件

NIO 提供文件锁防止并发冲突,内存映射文件实现高效大文件访问。本文介绍 FileLock 和 MappedByteBuffer 的使用方法。

8 分钟阅读
教程文章

Path、Files 与 FileSystem API

Java 7 引入 Path 和 Files API,提供更现代、更便捷的文件操作方式。本文介绍 Path、Files 和 FileSystem 的核心用法。

8 分钟阅读
教程文章

异步 I/O(AsynchronousChannel)

Java 7 引入异步 IO(AIO),通过 AsynchronousChannel 实现真正的异步操作,操作完成后通过 Future 或回调通知。本文介绍 AIO 的使用方法。

9 分钟阅读
教程文章

IO 与 NIO 性能对比

传统 IO 和 NIO 在不同场景下性能差异显著。本文从线程模型、数据传输、适用场景等方面对比两者性能特点。

8 分钟阅读
教程文章

Java IO 流体系

Java IO 流分为字节流和字符流两大类,按功能分为输入流和输出流。本文介绍 IO 流的整体架构和分类。

8 分钟阅读
教程文章

NIO 非阻塞模式

NIO 非阻塞模式通过 Selector 实现单线程管理多连接,避免了传统 IO 一个连接一个线程的资源浪费。本文介绍非阻塞模式的原理和实现。

9 分钟阅读

多线程与并发基础

10 篇
教程文章

程的创建与启动

Java 创建线程有三种方式:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口。本文介绍三种方式及使用场景。

8 分钟阅读
教程文章

程的生命周期

Java 程有六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。本文介绍各状态含义及转换条件。

7 分钟阅读
教程文章

程同步与锁

synchronized 是 Java 内置的同步机制,用于保证多线程访问共享资源时的线程安全。本文介绍 synchronized 用法、锁升级机制及注意事项。

9 分钟阅读
教程文章

程间通信

Java 程间通信机制包括 wait/notify、Condition、volatile 等。本文介绍各种通信方式的原理和使用方法。

9 分钟阅读
教程文章

程池

程池管理一组线程,复用线程减少创建开销。本文介绍 Executors 工厂方法、ThreadPoolExecutor 参数配置及最佳实践。

10 分钟阅读
教程文章

并发工具类

Java 并发工具类包括 CountDownLatch、CyclicBarrier、Semaphore 等,用于协调多线程执行顺序。本文介绍三者的原理和使用方法。

10 分钟阅读
教程文章

原子类与 CAS

原子类基于 CAS(Compare And Swap)实现无锁并发,用于保证单变量的原子操作。本文介绍原子类原理、CAS 机制及使用方法。

9 分钟阅读
教程文章

锁机制(ReentrantLock 等)

Java Lock 接口提供比 synchronized 更灵活的锁机制,ReentrantLock 是主要实现。本文介绍 Lock 接口方法、ReentrantLock 特性及其他锁类型。

10 分钟阅读
教程文章

并发容器

Java 并发容器专为多线程设计,包括 ConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue 等。本文介绍各类并发容器的特点和使用方法。

9 分钟阅读
教程文章

Fork/Join 框架

Fork/Join 框架专为分治任务设计,将大任务拆分为小任务并行执行,最后合并结果。本文介绍 Fork/Join 原理和使用方法。

10 分钟阅读
专家级

高阶实战

5 组 · 51 篇

性能调优实战

9 篇
教程文章

Java JVM内存模型与调优

JVM内存调优是性能优化的核心,本文详解内存模型分析、调优策略及常见场景的最佳配置。

8 分钟阅读
教程文章

Java垃圾回收算法与选择

选择合适的垃圾回收器是性能优化的关键,本文详解各GC算法特点、适用场景及选择策略。

8 分钟阅读
教程文章

Java JVM参数配置与监控

JVM参数配置和监控是性能调优的基础,本文详解参数分类、监控命令及生产环境配置模板。

7 分钟阅读
教程文章

Java性能分析工具使用

性能分析工具是定位问题的关键,本文详解JProfiler、Arthas、MAT等工具的使用方法。

8 分钟阅读
教程文章

Java代码级性能优化

代码级优化是最直接的性能提升手段,本文详解字符串、集合、循环等常见优化技巧。

8 分钟阅读
教程文章

Java并发编程与锁优化

并发编程是高性能应用的关键,本文详解锁优化策略、并发容器选择及无锁编程技巧。

9 分钟阅读
教程文章

Java IO与网络性能优化

IO性能是系统吞吐量的关键,本文详解NIO原理、零拷贝技术及网络参数优化。

8 分钟阅读
教程文章

Java性能测试与基准测试

性能测试是验证优化效果的关键,本文详解JMH基准测试、压测工具及性能指标分析方法。

7 分钟阅读
教程文章

Java常见性能问题排查

性能问题排查是调优的核心技能,本文详解CPU、内存、线程、IO等常见问题的排查方法和解决方案。

9 分钟阅读

设计模式

23 篇
教程文章

Java单例模式

单例模式确保类只有一个实例,本文详解多种实现方式、线程安全问题及最佳实践。

6 分钟阅读
教程文章

Java工厂模式

工厂模式将对象创建封装在工厂类中,本文详解简单工厂、工厂方法模式的实现及应用场景。

5 分钟阅读
教程文章

Java抽象工厂模式

抽象工厂模式创建产品族,本文详解产品族概念、抽象工厂实现及与工厂方法的区别。

6 分钟阅读
教程文章

Java建造者模式

建造者模式分步构建复杂对象,本文详解建造者结构、链式调用实现及与工厂模式的区别。

6 分钟阅读
教程文章

Java原型模式

原型模式通过复制现有对象创建新对象,本文详解克隆机制、浅拷贝与深拷贝的实现方式。

5 分钟阅读
教程文章

Java适配器模式

适配器模式将不兼容接口转换为兼容接口,本文详解类适配器、对象适配器的实现及应用场景。

6 分钟阅读
教程文章

Java桥接模式

桥接模式将抽象与实现解耦,本文详解桥接结构、分离变化维度及实际应用示例。

6 分钟阅读
教程文章

Java组合模式

组合模式将对象组合成树形结构,本文详解组合结构、透明式与安全式实现及文件系统示例。

6 分钟阅读
教程文章

Java装饰器模式

装饰器模式动态添加功能,本文详解装饰器结构、多层装饰实现及Java I/O中的应用。

6 分钟阅读
教程文章

Java外观模式

外观模式为复杂子系统提供统一入口,本文详解外观结构、简化调用及实际应用示例。

5 分钟阅读
教程文章

Java享元模式

享元模式共享细粒度对象,减少内存消耗,本文详解内部状态与外部状态、享元工厂实现。

6 分钟阅读
教程文章

Java代理模式

代理模式控制对象访问,本文详解静态代理、动态代理、JDK代理与CGLIB代理的实现方式。

7 分钟阅读
教程文章

Java责任链模式

责任链模式将请求沿链传递,本文详解链式结构、请求处理实现及过滤器链应用示例。

6 分钟阅读
教程文章

Java命令模式

命令模式将请求封装为对象,本文详解命令结构、调用者与接收者分离及撤销重做实现。

6 分钟阅读
教程文章

Java解释器模式

解释器模式定义语法解释器,本文详解抽象表达式、终结符与非终结符表达式实现及简单计算器示例。

7 分钟阅读
教程文章

Java迭代器模式

迭代器模式顺序访问聚合对象元素,本文详解迭代器接口、自定义迭代器实现及Java集合中的应用。

5 分钟阅读
教程文章

Java中介者模式

中介者模式集中管理对象交互,本文详解中介者结构、同事对象通信及聊天室示例实现。

6 分钟阅读
教程文章

Java备忘录模式

备忘录模式保存对象状态以便恢复,本文详解备忘录结构、发起人与管理者分离及撤销功能实现。

6 分钟阅读
教程文章

Java观察者模式

观察者模式定义对象间依赖关系,本文详解Subject与Observer结构、推模型与拉模型及Java内置实现。

6 分钟阅读
教程文章

Java策略模式

策略模式定义算法族并使其可互换,本文详解策略接口、Context组合策略及支付方式示例。

6 分钟阅读
教程文章

Java状态模式

状态模式允许对象在内部状态改变时改变行为,本文详解状态接口、状态切换及订单状态示例。

6 分钟阅读
教程文章

Java模板方法模式

模板方法模式定义算法骨架,本文详解抽象模板、具体实现及钩子方法的使用。

5 分钟阅读
教程文章

Java访问者模式

访问者模式将操作从对象结构分离,本文详解Visitor接口、双分派机制及数据结构处理示例。

7 分钟阅读

IO与NIO深入专题

IO与NIO深入专题 专题说明 本专题系统讲解Java IO与NIO的核心知识点,IO是Java传统输入输出机制,NIO是Java 1.4引入的新IO模型,AIO是Java 7引入的异步IO,掌握它们是处理文件和网络数据的基础。 学习目标 理解Java IO流的体系结构与装饰器模式 掌握字节流与字符流的区别与选择 熟练使用缓冲流和转换流提高效率 理解对象序列化机制与transient关键字 掌握NIO三大核心组件Channel、Buffer、Selector 理解NIO非阻塞模式的工作原理 掌握文件锁、内存映射文件的使用 了解异步IO(AIO)的使用方式 学习内容 本专题涵盖十大核心知识点: 知识点 核心内容 Java IO流体系 四大基类、装饰器模式、节点流与处理流 字节流与字符流 InputStream/OutputStream、Reader/Writer 缓冲流与转换流 BufferedReader/BufferedWriter、转换流 对象序列化 Serializable、transient、serialVersionUID NIO核心组件 Channel、Buffer、Selector NIO非阻塞模式 configureBlocking、SelectionKey 文件锁与内存映射 FileLock、MappedByteBuffer Path与Files API NIO.2文件操作、Path创建 异步IO(AIO) AsynchronousChannel、Future/CompletionHandler IO与NIO性能对比 面向流vs面向缓冲、阻塞vs非阻塞 学习建议 理解模型差异:IO面向流、阻塞式;NIO面向缓冲、非阻塞式;AIO异步回调式 动手实践:Buffer的flip/clear方法是难点,建议写代码验证 场景选择:少量连接用传统IO,高并发用NIO,简化编码用AIO 注意资源释放:IO流和Channel都需要正确关闭,建议使用try-with-resources

20 题 查看专题 →

JVM基础与内存模型专题

JVM基础与内存模型专题 专题说明 本专题系统讲解Java虚拟机的核心知识点,JVM是Java程序的运行基础,理解JVM内存结构、垃圾回收、类加载机制是高级开发者的必备技能,也是性能调优的理论基础。 学习目标 理解JVM的跨平台原理与JIT编译机制 掌握JVM运行时数据区的组成与各区域作用 理解对象创建流程与内存分配策略 掌握垃圾回收算法与常见GC收集器特点 理解类加载机制与双亲委派模型 了解打破双亲委派的应用场景 学习内容 本专题涵盖五大核心知识点: 知识点 核心内容 JVM概述与跨平台原理 字节码、JIT编译、JVM/JRE/JDK关系 JVM内存结构 堆、栈、方法区、程序计数器、本地方法栈 对象创建与内存分配 创建流程、TLAB、逃逸分析、栈上分配 垃圾回收机制与算法 引用计数、可达性分析、标记清除/复制/整理、分代收集 类加载机制与双亲委派 加载过程、三层类加载器、双亲委派、SPI机制 学习建议 理解内存模型:堆是对象存储区域,栈是方法执行区域,方法区存储类信息 掌握GC算法:新生代用复制算法,老年代用标记清除或标记整理 理解类加载:双亲委派保证类唯一性,但Tomcat、SPI等需要打破 结合调优实践:理解JVM是性能调优的基础,建议结合实际案例学习

20 题 查看专题 →

反射与注解专题

反射与注解专题 专题说明 本专题系统讲解Java反射与注解的核心知识点,反射是Java动态特性的基础,注解是元数据机制,两者结合实现框架开发、动态代理、ORM等高级功能。 学习目标 理解反射机制的概念、应用场景与性能影响 掌握获取Class对象的三种方式及适用场景 熟练使用反射操作构造器、方法和字段 掌握注解的定义语法与元素类型限制 理解四种元注解的作用与使用方式 掌握运行时注解的反射获取方法 了解编译时注解与注解处理器的工作原理 学习内容 本专题涵盖十大核心知识点: 知识点 核心内容 反射机制概述 反射概念、应用场景、性能影响 Class对象获取 三种获取方式、Class对象唯一性 构造器反射 Constructor获取、newInstance创建对象 方法反射 Method获取、invoke调用、方法重载处理 字段反射 Field获取、get/set操作、私有字段访问 注解定义 @interface语法、元素类型、默认值 元注解 @Target、@Retention、@Documented、@Inherited 注解处理器 AbstractProcessor、编译期代码生成 运行时注解 反射获取注解、@Repeatable、注解继承 编译时注解 SOURCE保留策略、Lombok原理 学习建议 理解动态特性:反射打破封装,可访问私有成员,但也带来性能开销 区分获取方法:getXxx获取公共成员,getDeclaredXxx获取所有成员 掌握元注解:@Retention决定注解生命周期,是理解注解处理的关键 注意异常处理:反射调用可能抛出InvocationTargetException,需解包获取实际异常

20 题 查看专题 →

字符串专题

字符串专题 专题说明 本专题系统讲解 Java 字符串的核心知识点,从基础概念到性能优化,帮助开发者建立完整的字符串知识体系。 学习目标 理解 String 的不可变性及其影响 掌握字符串常用方法的使用 正确使用字符串比较方式 了解字符串拼接性能差异,合理选择拼接方式 掌握 StringBuilder 与 StringBuffer 的使用场景 熟练进行字符串与字符数组的相互转换 掌握正则表达式在字符串处理中的应用 学习内容 本专题涵盖以下知识点: Java 字符串基础概念 字符串不可变性原理 字符串常用方法(长度、截取、查找、替换等) 字符串比较(== vs equals) 字符串拼接与性能优化 StringBuilder 与 StringBuffer 的区别与应用 字符串与字符数组的转换 正则表达式与字符串处理 学习建议 先理解不可变性概念,这是字符串特性的基础 重点掌握 equals() 与 == 的区别,避免常见错误 注意字符串拼接的性能问题,在大数据量场景使用 StringBuilder 正则表达式是进阶内容,建议先掌握基础方法再深入学习

24 题 查看专题 →

性能调优实战专题

性能调优实战专题 专题说明 本专题系统讲解Java性能调优实战技能,性能调优是高级开发者必备能力,涵盖JVM调优、GC选择、监控工具、代码优化、并发优化、问题排查等核心内容。 学习目标 掌握JVM内存参数配置与调优策略 理解不同GC收集器的特点与选择依据 熟练使用jstat、jmap、jstack等监控工具 掌握MAT、VisualVM、async-profiler等分析工具 掌握代码级性能优化技巧 理解并发编程锁优化策略 掌握常见性能问题排查方法 学习内容 本专题涵盖九大核心知识点: 知识点 核心内容 JVM内存模型与调优 堆内存参数、元空间、新生代比例 垃圾回收算法与选择 G1/ZGC选择、GC参数配置 JVM参数配置与监控 GC日志、jstat/jmap/jstack工具 性能分析工具使用 MAT、VisualVM、火焰图、async-profiler 代码级性能优化 字符串优化、集合选择、循环优化 并发编程与锁优化 锁粒度、读写锁、CAS、锁升级 IO与网络性能优化 NIO、DirectBuffer、零拷贝 性能测试与基准测试 JMH基准测试、JIT预热 常见性能问题排查 CPU飙高、内存泄漏、Full GC、死锁 学习建议 实践驱动:性能调优需要大量实践,建议在生产环境模拟问题并排查 工具熟练:掌握jstat、jmap、jstack、MAT等工具是调优的基础 系统思维:性能问题往往是多因素导致,需要系统性分析 权衡取舍:调优是权衡取舍,延迟、吞吐量、内存占用需综合考虑

20 题 查看专题 →

数据库优化与JDBC高级专题

数据库优化与JDBC高级专题 专题说明 本专题系统讲解Java数据库优化与JDBC高级技能,数据库是应用的核心组件,掌握连接池优化、事务管理、批处理、分页优化、索引优化等技术是开发高性能应用的关键。 学习目标 掌握数据库连接池配置与优化策略 理解PreparedStatement批处理优化原理 掌握事务隔离级别与传播行为 理解SQL注入防范原理与最佳实践 掌握大数据量分页查询优化方案 掌握连接泄漏检测与监控方法 理解数据库索引原理与优化策略 学习内容 本专题涵盖八大核心知识点: 知识点 核心内容 数据库连接池优化 HikariCP/Druid配置、连接池大小设置 PreparedStatement与批处理 预编译、addBatch/executeBatch、rewriteBatchedStatements 事务管理与隔离级别 ACID、四种隔离级别、MVCC、Spring事务传播 结果集映射与元数据 ResultSet游标、ResultSetMetaData、ORM映射 SQL注入防范 PreparedStatement、MyBatis #{} vs ${} 大数据量分页查询 LIMIT OFFSET问题、游标分页、子查询优化 连接泄漏检测与监控 try-with-resources、泄漏检测参数、监控指标 数据库索引优化 B+树索引、聚簇索引、覆盖索引、最左匹配 学习建议 理解底层原理:连接池、批处理、索引都需要理解底层实现才能正确优化 结合实际场景:分页优化、索引设计需要根据实际数据量和查询特点决定 重视安全防护:SQL注入是严重安全问题,必须使用PreparedStatement 监控先行:优化前先监控定位瓶颈,优化后验证效果

20 题 查看专题 →

数组与方法专题

数组与方法专题 专题说明 本专题系统讲解Java数组与方法的核心知识点,数组是存储多个同类型数据的容器,方法是完成特定功能的代码块,两者是Java编程的基础。 学习目标 掌握数组的声明、初始化方式(静态初始化、动态初始化) 理解数组索引与长度,熟练使用for循环和增强for遍历数组 掌握Arrays工具类的排序和查找方法 理解方法的定义结构(返回类型、方法名、参数列表、方法体) 掌握Java值传递机制,理解基本类型与引用类型参数传递的区别 掌握方法重载的概念与判定条件 学习内容 本专题涵盖六大核心知识点: 知识点 核心内容 数组的定义与初始化 静态初始化、动态初始化、默认值 数组的遍历 for循环遍历、增强for循环、索引范围 数组的常见操作 Arrays.sort排序、binarySearch二分查找 方法的定义与调用 方法结构、void返回类型、方法调用语法 方法的参数传递 值传递机制、基本类型传递、引用类型传递 方法的重载 参数列表不同、与返回类型无关 学习建议 理解内存模型:数组和引用类型参数传递都涉及内存地址,理解内存模型有助于掌握本质 动手验证:参数传递是难点,建议编写代码验证基本类型和数组传递的差异 注意边界:数组索引从0开始,访问超出范围会抛出ArrayIndexOutOfBoundsException 善用工具类:Arrays类提供了排序、查找、填充等常用方法,熟练使用提高效率

20 题 查看专题 →

泛型详解专题

泛型详解专题 专题说明 本专题系统讲解Java泛型的核心知识点,泛型是Java 5引入的特性,提供类型安全检查和代码复用能力,是Java集合框架和各类库的基础。 学习目标 掌握泛型类和泛型接口的定义与使用 理解泛型方法的定义与类型推断机制 掌握类型通配符(?、? extends、? super)的使用与PECS原则 理解类型擦除机制及其影响 掌握泛型与继承的不变性问题 了解通过反射获取泛型信息的方法 理解泛型数组的限制与替代方案 学习内容 本专题涵盖九大核心知识点: 知识点 核心内容 泛型类 类型参数定义、实例化语法 泛型接口 接口定义、两种实现方式 泛型方法 类型参数位置、类型推断 类型通配符 上界通配符、下界通配符、PECS原则 类型擦除 擦除机制、桥接方法、运行时限制 泛型与继承 不变性、协变与逆变概念 泛型与反射 ParameterizedType、获取泛型信息 泛型与数组 禁止创建泛型数组、替代方案 泛型最佳实践 原始类型、类型参数命名 学习建议 理解类型擦除:泛型本质是编译时特性,运行时类型信息被擦除 掌握PECS原则:生产者用extends,消费者用super,这是通配符使用的核心 区分泛型类与方法:泛型类的类型参数在整个类有效,泛型方法的类型参数只在方法内有效 注意不变性:List不是List的子类型,这是泛型的重要限制

20 题 查看专题 →

线程安全与同步机制专题

线程安全与同步机制专题 专题说明 本专题系统讲解Java线程安全与同步机制的核心知识点,多线程编程中线程安全是关键问题,掌握同步机制是写出高质量并发程序的必备技能。 学习目标 掌握synchronized关键字的使用方式与锁升级机制 理解volatile关键字的内存语义与适用场景 掌握ReentrantLock的使用方法及与synchronized的区别 理解原子类的CAS原理与ABA问题 掌握线程安全集合的原理与选择 熟练使用CountDownLatch、CyclicBarrier、Semaphore等并发工具类 学习内容 本专题涵盖六大核心知识点: 知识点 核心内容 synchronized关键字 锁对象、锁升级、可重入性 volatile关键字 内存可见性、禁止重排序、不保证原子性 Lock接口与ReentrantLock 显式加锁解锁、公平锁、tryLock 原子类(Atomic) CAS原理、ABA问题、原子累加器 线程安全集合 ConcurrentHashMap、CopyOnWriteArrayList 并发工具类 CountDownLatch、CyclicBarrier、Semaphore 学习建议 理解JMM模型:线程安全问题的根源是内存模型,理解可见性、有序性、原子性是基础 对比学习:synchronized与ReentrantLock、volatile与synchronized的区别是高频考点 动手验证:并发编程问题难以凭直觉判断,建议写代码验证各种场景 注意场景选择:不同同步机制有不同的适用场景,选择合适的工具是关键

20 题 查看专题 →

网络编程基础专题

网络编程基础专题 专题说明 本专题系统讲解Java网络编程的核心知识点,网络编程是分布式系统和微服务架构的基础,掌握Socket、HTTP、TCP/IP、WebSocket、RPC等技术是开发网络应用的必备技能。 学习目标 掌握Socket编程的基本流程与服务端/客户端实现 理解HTTP协议的请求响应模型与常见状态码 理解TCP/IP协议的三次握手、四次挥手与可靠性机制 掌握UDP协议的特点与DatagramSocket编程 了解WebSocket全双工通信机制与应用场景 理解RPC原理与框架组成 学习内容 本专题涵盖六大核心知识点: 知识点 核心内容 Socket编程 Socket/ServerSocket、TCP客户端服务端、IO流操作 HTTP协议 无状态特性、请求方法、状态码、请求报文结构 TCP/IP协议 三次握手、四次挥手、滑动窗口、流量控制、拥塞控制 UDP协议 无连接特性、DatagramSocket/DatagramPacket WebSocket 全双工通信、HTTP升级、帧类型 RPC原理 序列化、服务注册发现、负载均衡、常见框架 学习建议 理解协议差异:TCP可靠但效率低,UDP不可靠但效率高,根据场景选择 掌握Socket流程:服务端bind-listen-accept,客户端connect,是网络编程基础 注意资源释放:网络连接需要正确关闭,建议使用try-with-resources 了解RPC架构:RPC是微服务通信基础,理解调用流程有助于框架使用

20 题 查看专题 →

设计模式专题

设计模式专题 专题说明 本专题系统讲解23种经典设计模式,设计模式是面向对象设计的最佳实践,分为创建型、结构型、行为型三大类,掌握设计模式是成为高级开发者的必经之路。 学习目标 理解设计模式的六大设计原则 掌握创建型模式:单例、工厂、建造者、原型 掌握结构型模式:适配器、装饰器、代理、外观 掌握行为型模式:责任链、命令、迭代器、观察者、状态、策略 理解各种模式的适用场景与优缺点 能够在实际项目中正确应用设计模式 学习内容 本专题涵盖三大类设计模式: 创建型模式(5种) 模式 核心思想 单例模式 确保类只有一个实例 工厂模式 创建对象由子类决定 抽象工厂模式 创建产品族 建造者模式 分离构建与表示 原型模式 通过克隆创建对象 结构型模式(7种) 模式 核心思想 适配器模式 接口转换适配 装饰器模式 动态扩展功能 代理模式 控制对象访问 外观模式 简化复杂子系统 桥接模式 分离抽象与实现 组合模式 树形结构处理 享元模式 共享细粒度对象 行为型模式(11种) 模式 核心思想 责任链模式 链式处理请求 命令模式 封装请求为对象 迭代器模式 顺序访问集合 观察者模式 一对多依赖通知 状态模式 状态改变行为 策略模式 算法族可互换 模板方法模式 定义算法骨架 备忘录模式 保存恢复状态 中介者模式 集中交互逻辑 解释器模式 解释执行文法 访问者模式 分离数据与操作 学习建议 理解设计原则:先理解开闭、单一职责等六大原则,模式是其实现 对比学习:工厂与抽象工厂、装饰器与代理、策略与状态等模式要对比理解 结合实际:Java IO用装饰器、Spring AOP用代理、集合用迭代器,结合框架学习 避免过度设计:模式是解决问题的工具,不要为了用模式而用模式

20 题 查看专题 →

面向对象基础专题

面向对象基础专题 专题说明 本专题系统讲解Java面向对象编程(OOP)的核心概念,是Java学习的必经之路。通过类与对象、封装、继承、多态四大特性,配合构造方法、this/static关键字、包与访问修饰符等关键机制,帮助学习者建立完整的面向对象思维。 学习目标 理解类与对象的关系,掌握类的定义和对象的创建 掌握封装的含义和实现方式,理解访问修饰符的作用 理解继承的概念,掌握方法重写和super关键字 掌握多态的实现条件和实际应用 熟练使用构造方法进行对象初始化 正确使用this和static关键字 理解包的作用和访问修饰符的使用场景 学习内容 本专题涵盖八大核心知识点: 知识点 知识点ID 核心内容 类与对象 900413 类的定义、对象的创建与使用 封装 900414 封装原则、getter/setter 继承 900415 继承语法、方法重写、super 多态 900416 向上转型、向下转型、动态绑定 构造方法 900417 构造方法定义、重载、默认构造 this关键字 900418 区分成员变量与局部变量、构造器调用 static关键字 900419 静态变量、静态方法、静态代码块 包与访问修饰符 900420 包的定义、public/protected/default/private 学习建议 循序渐进:按照知识点顺序学习,前面的概念是后续内容的基础 动手实践:每学完一个知识点,编写代码验证理解 注重理解:多态是难点,需要理解动态绑定的原理 综合应用:通过综合题目检验对多个知识点的融合理解

29 题 查看专题 →

JAVA IO与NIO深入专题测试

20 题 45 分钟 ★★

JAVA JVM基础与内存模型专题测试

20 题 45 分钟 ★★

Java进阶技能认证卷

技能认证

本试卷为 Java 进阶技能认证卷,旨在检验开发者对 Java 进阶知识的掌握程度。通过本试卷的考核,可以验证是否具备使用 Java 进行复杂应用开发的能力,包括多线程编程、集合框架应用、JVM理解等核心技能。

16 题 60 分钟 ★★

JAVA反射与注解专题测试

21 题 45 分钟 ★★

JAVA变量与数据类型专题测试

17 题 30 分钟 ★

JAVA基础IO与文件操作专题测试

24 题 35 分钟 ★

JAVA多线程与并发基础专题测试

20 题 50 分钟 ★★

JAVA字符串专题测试

20 题 35 分钟 ★

JAVA常用工具类专题测试

20 题 35 分钟 ★

JAVA异常处理专题测试

20 题 40 分钟 ★

JAVA性能调优实战专题测试

20 题 60 分钟 ★★★

JAVA数据库优化与JDBC高级专题测试

20 题 50 分钟 ★★★

JAVA数组与方法专题测试

20 题 40 分钟 ★

JAVA泛型详解专题测试

20 题 60 分钟 ★★

JAVA线程安全与同步机制专题测试

20 题 60 分钟 ★★

JAVA网络编程基础专题测试

20 题 60 分钟 ★★

JAVA设计模式专题测试

20 题 60 分钟 ★★

JAVA运算符与流程控制专题测试

20 题 40 分钟 ★

JAVA集合框架专题测试

20 题 60 分钟 ★★

JAVA面向对象基础专题测试

20 题 40 分钟 ★

Java专家技能认证卷

技能认证

本试卷为 Java 专家技能认证卷,旨在检验开发者对 Java 高级技能的掌握程度。通过本试卷的考核,可以验证是否具备作为 Java 架构师或技术负责人进行性能调优、数据库优化等专家级工作的能力。

39 题 90 分钟 ★★★

Java基础技能认证卷

技能认证

本试卷为Java基础知识技能认证测试,用于评估学习者对Java编程基础概念的掌握程度。通过本认证测试,证明已具备Java入门级编程能力,可进行后续进阶学习。

22 题 45 分钟 ★

Java基础知识测试卷

本试卷主要测试Java编程语言的基础知识掌握情况,涵盖变量与数据类型、基础IO、字符串操作、常用工具类、异常处理、数组与方法、运算符与流程控制、面向对象基础等核心知识点。适合Java初学者进行基础能力自测。

20 题 40 分钟 ★

Java基础综合试卷

本试卷为 Java 基础综合试卷,旨在全面检验开发者对 Java 基础知识的掌握程度。通过本试卷的考核,可以验证是否具备扎实的 Java 编程基础,为进一步学习进阶内容奠定良好基础。

26 题 60 分钟 ★★