news 2026/4/3 4:55:50

Java 基础知识总结(超详细整理)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 基础知识总结(超详细整理)

下面是一份2026年视角下仍然非常实用Java SE 基础知识超详细总结(面向初学者到中级开发者),内容按逻辑顺序组织,重点突出常考、易错、高频使用的部分。

我会尽量用简洁 + 对比 + 记忆点 + 代码示例的方式呈现,便于快速复习和理解。

一、Java语言基础与环境

概念全称主要作用包含内容/备注
JDKJava Development Kit开发 + 运行包含JRE + 编译器javac + 工具(javadoc、jar等)
JREJava Runtime Environment只运行包含JVM + 核心类库
JVMJava Virtual Machine真正执行字节码的地方HotSpot(主流)、J9、GraalVM 等实现

Java跨平台原理一句话总结
程序员写.javajavac编译成平台无关的.class(字节码) → 不同平台的JVM把字节码解释/JIT编译成对应机器码执行。

2025–2026主流版本
企业主流:Java 8 / 11 / 17 / 21(LTS)
最推荐学习路径(2026):先精通 17/21 的新特性,再向下兼容 8 和 11

二、基本数据类型与包装类(8种)

类型字节默认值包装类缓存范围(==)常考点
byte10Byte-128 ~ 127
short20Short-128 ~ 127
int40Integer-128 ~ 127valueOf() 有缓存,new 没有
long80LLong-128 ~ 127后缀 L/l
float40.0fFloat后缀 F/f,精度丢失严重
double80.0Double默认浮点类型
char2Character0 ~ 127(ASCII)可存中文(Unicode)
boolean~falseBooleantrue/false(不是对象)不能用 1/0 赋值

经典面试题示例

Integera=100;// 自动装箱 → Integer.valueOf(100) → 缓存Integerb=100;System.out.println(a==b);// trueIntegerc=200;Integerd=200;System.out.println(c==d);// false (超过缓存范围)Integere=newInteger(100);System.out.println(a==e);// false (一个是缓存对象,一个是new出来的新对象)

三、运算符优先级(高到低,常见记忆口诀)

  1. ()[].
  2. !~++--(前置>后置)
  3. */%
  4. +-
  5. <<>>>>>
  6. <<=>>=instanceof
  7. ==!=
  8. &
  9. ^
  10. |
  11. &&
  12. ||
  13. ? :
  14. =+=-=等赋值

四、面向对象三大特性 + 三大修饰符对比

特性/关键字privatedefaultprotectedpublic记忆口诀
本类
同包דdefault是包访问”
子类××√(不同包也行)“protected护子类”
其他包××דpublic全世界”

三大特性对比表(常考)

特性核心思想实现方式面试最常问点
封装隐藏实现细节private + getter/setter为什么要有setter?(控制、校验、日志等)
继承代码复用extends(单继承)构造器不继承、final类不能被继承
多态同一接口不同实现方法重写+ 父类引用子对象向上转型、向下转型(instanceof + 强转)

五、常用关键字对比(超高频)

关键字作用范围是否可修饰类是否可修饰方法是否可修饰变量常考对比
final不可变√(不能继承)√(不能重写)√(常量)final、finally、finalize区别
static类级别×√(静态方法)√(静态变量)静态代码块 > 构造块 > 构造方法
abstract强制子类实现√(抽象类)√(抽象方法)×抽象类 vs 接口(Java 8后区别缩小)
interface规范(多实现)√(默认public)√(public static final)Java 8+ default/static方法

六、String / StringBuilder / StringBuffer(最常考)

是否可变线程安全性能底层实现使用场景
String不可变安全final char[]常量、key、配置文件
StringBuilder可变不安全最快char[] + count单线程大量拼接
StringBuffer可变安全较慢char[] + count多线程环境下的字符串拼接(少用)

经典写法对比(性能差距巨大)

// 差:创建了大量临时String对象Strings="";for(inti=0;i<10000;i++){s+=i;// 每次都new String}// 推荐:Java 5+ 几乎都用 StringBuilderStringBuildersb=newStringBuilder();for(inti=0;i<10000;i++){sb.append(i);}Stringresult=sb.toString();

七、集合框架对比(2026年仍最核心)

List(有序、可重复)

实现类底层结构随机访问插入/删除效率线程安全适用场景
ArrayList动态数组快 O(1)慢 O(n)查询多、尾插多
LinkedList双向链表慢 O(n)快 O(1)频繁头尾增删
Vector动态数组是(synchronized)古老遗留类(基本不用)

Set(无序、不可重复)

实现类底层是否有序是否允许null性能特点
HashSetHashMap无序允许1个null最快(O(1))
LinkedHashSetHashMap+链表插入顺序允许1个null略慢于HashSet,但有序
TreeSet红黑树自然/自定义排序不允许nulllog(n),自带排序

Map(键值对)

实现类底层是否有序key是否可nullvalue是否可null性能特点
HashMap数组+链表+红黑树无序允许1个null允许最常用,O(1)
LinkedHashMap数组+链表+红黑树+双向链表插入/访问顺序允许1个null允许维护插入/访问顺序
TreeMap红黑树key排序不允许null允许自带key排序,log(n)
Hashtable数组+链表无序不允许null不允许null古老、synchronized

八、异常体系(两张图就能记住)

Throwable(顶层) ├── Error(严重错误,程序员一般不处理) │ └── OutOfMemoryError / StackOverflowError ... └── Exception(可恢复) ├── RuntimeException(非受检,unchecked) │ ├── NullPointerException │ ├── ArrayIndexOutOfBoundsException │ ├── ClassCastException │ └── ... └── 其他(受检,checked,必须处理) ├── IOException ├── SQLException └── ...

推荐处理风格(2026主流)

// 1. 尽量用具体异常,不要直接catch Exceptiontry{// ...}catch(FileNotFoundExceptione){// 处理文件不存在}catch(IOExceptione){// 其他IO异常}// 2. Java 7+ 多catch写法}catch(FileNotFoundException|UnknownHostExceptione){// ...}

希望这份总结对你有帮助!如果想深入某个模块(比如JVM内存结构、类加载机制、泛型擦除、多线程基础、IO/NIO、反射、枚举、Lambda、Stream等),可以告诉我,我再给你展开更细的版本。加油~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 20:27:32

QMT极速验证:1小时完成期权定价模型原型开发

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个期权定价模型原型&#xff0c;要求&#xff1a;1.实现Black-Scholes公式 2.支持参数交互式调整 3.可视化期权价格随参数变化曲线 4.计算希腊字母 5.导出计算结果。强调…

作者头像 李华
网站建设 2026/3/20 10:56:51

告别命令行:可视化SSH工具如何提升10倍效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个可视化SSH连接工具&#xff0c;重点优化常用运维工作流。要求实现服务器拓扑图展示、快捷命令模板、批量操作向导等功能。工具需要支持自定义工作流&#xff0c;能够记录并…

作者头像 李华
网站建设 2026/3/12 13:29:16

5分钟快速验证:NGINX微服务网关原型搭建

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速生成一个微服务网关的NGINX配置原型&#xff0c;要求包含&#xff1a;1. 根据路径路由到不同服务(/user->用户服务&#xff0c;/order->订单服务) 2. 轮询负载均衡 3. 熔…

作者头像 李华
网站建设 2026/3/26 7:16:23

unet人像卡通化学习曲线:零基础用户上手时间

unet人像卡通化学习曲线&#xff1a;零基础用户上手时间 1. 功能概述 本工具基于阿里达摩院 ModelScope 的 DCT-Net 模型&#xff0c;支持将真人照片转换为卡通风格。项目由科哥构建并优化部署流程&#xff0c;命名为 unet person image cartoon compound&#xff0c;旨在降低…

作者头像 李华
网站建设 2026/3/28 4:35:21

虎贲等考 AI:期刊论文从拒稿到录用,全流程智能赋能破局

投稿期刊屡屡石沉大海、选题磨破头仍无方向、格式排版耗尽心神…… 无论是评职称的青年教师、冲奖学金的学子&#xff0c;还是深耕科研的研究者&#xff0c;期刊论文写作与投稿都堪称一场 “持久战”。多数人卡在 “选题不准、逻辑松散、格式失范” 的瓶颈&#xff0c;却找不到…

作者头像 李华