news 2026/6/10 19:38:48

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/6/10 13:06:12

【Java 开发日记】MySQL 与 Redis 如何保证双写一致性?

【Java 开发日记】 MySQL 与 Redis 如何保证双写一致性&#xff1f;&#xff08;2026 年主流实践版&#xff09; 在真实生产环境中&#xff0c;“双写一致性”几乎从来没有做到过强一致性&#xff08;事务级原子性&#xff09;&#xff0c;绝大多数公司最终追求的都是最终一致…

作者头像 李华
网站建设 2026/6/10 13:17:14

Disruptor在金融交易系统中的实战应用案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个金融交易系统的模拟案例&#xff0c;使用Disruptor处理订单撮合。要求&#xff1a;1) 订单输入模块&#xff1b;2) 价格匹配引擎&#xff1b;3) 交易执行模块&#xff1b;…

作者头像 李华
网站建设 2026/6/10 15:24:39

AI一键搞定Python环境配置,告别手动设置烦恼

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python环境自动配置工具&#xff0c;功能包括&#xff1a;1.自动检测系统类型(Windows/Mac/Linux) 2.智能配置Python路径到系统环境变量 3.创建并激活虚拟环境 4.安装常用…

作者头像 李华
网站建设 2026/6/10 15:06:02

Qwen-Image-2512-ComfyUI初体验:AI绘画原来这么简单

Qwen-Image-2512-ComfyUI初体验&#xff1a;AI绘画原来这么简单 1. 开场&#xff1a;不用写代码&#xff0c;不调参数&#xff0c;点几下就出图 你有没有试过打开一个AI绘画工具&#xff0c;面对满屏节点、一堆滑块、几十个参数设置&#xff0c;犹豫三分钟&#xff0c;最后关…

作者头像 李华
网站建设 2026/6/10 15:07:19

AI助力Vivado注册:2035年许可证自动续期方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于AI的Vivado许可证管理系统&#xff0c;能够自动检测许可证有效期&#xff0c;在2035年到期前自动续期。系统需要集成Xilinx官方API&#xff0c;支持批量许可证管理&am…

作者头像 李华
网站建设 2026/6/10 12:25:20

Qwen1.5-0.5B部署避坑:文件损坏404问题解决

Qwen1.5-0.5B部署避坑&#xff1a;文件损坏404问题解决 1. 为什么你总遇到“404”和“文件损坏”&#xff1f; 你是不是也这样&#xff1a;兴冲冲想在本地跑个轻量大模型&#xff0c;pip install transformers 后执行 from transformers import AutoModelForCausalLM&#xf…

作者头像 李华