JAVA重点难点

1 集合

1.1 集合类的继承图

通过观察类结构图的继承关系我们发现,集合的顶层接口Collection继承Iterable接口。

而在Iterable接口中有一个Iterator方法,它返回一个Itertator对象

1.2 各类子类的具体实现

hashset: 基于hashmap实现,只存储key,value是固定的Object

TreeSet:基于treemaps实现,只存储key,value是固定的Object

arraylist: 基于数组实现,双倍扩容。

linkedList: 双向链表

hashmap: 链表数组<64,链表<8链表。如果大于8则扩展为红黑树

treeMap: 红黑树

1.1.1 快失败

快速失败"(fail-fast) 是一种错误检测机制 ,主要用于非线程安全 的集合(如 ArrayListLinkedListHashSetHashMap 等)。当使用迭代器 (包括增强 for 循环)遍历集合时,如果在遍历过程中直接对集合结构进行了修改 (如调用 add()remove()clear() 等方法,而不是迭代器自身的 remove() 方法),迭代器会立即抛出 ConcurrentModificationException,以避免后续不确定的行为。

1.2 红黑树

在 Java 中引入红黑树,主要是为了解决 HashMap 在哈希冲突严重时的性能退化问题 ,同时也作为 TreeMap / TreeSet 底层实现提供有序性保障 红黑树引入红色和黑色 ,核心目的是用更少的代价维护树的近似平衡,而不像 AVL 树那样追求绝对平衡。

1.3 hashcode

1.与equals强绑定。

2.与对象存储的内存地址有关。

3.重写equals就有必须重写hashcode.

1.4 concurrenhashtMap实现

2 多线程

2.1 多线程基础

3 IO流(非重点)

4 JVM核心

相关推荐
Dilee2 小时前
Spring AI 核心链路拆解:ChatClient、Prompt、Advisor、ChatModel 到底怎么串起来?
后端
无风听海2 小时前
在 ASP.NET Core 开发环境中为自定义域名签发受信任的自签名证书—HSTS 启用后的完整实践
windows·后端·asp.net
无风听海2 小时前
深入理解 ASP.NET Core 中的UseHsts()
后端·asp.net
学编程的小程2 小时前
DISTINCT 的“惯性陷阱“:当去重操作沦为性能累赘
后端
雪宫街道3 小时前
SpringBoot 向 IOC 容器注册组件的两种姿势:@Configuration 与 @Import
java·spring boot·后端·spring
techdashen3 小时前
Cargo 1.94 开发周期全解析
开发语言·后端·rust
枕星而眠3 小时前
Linux守护进程完全指南:从原理到实战
linux·运维·服务器·c++·后端
金融支付架构实战指南4 小时前
Milvus 向量检索服务 + SpringBoot 实战:电商商品语义检索与相似商品推荐
spring boot·后端·milvus·向量检索
齐 飞4 小时前
JDK21虚拟线程
java·后端
fox_lht4 小时前
15.4.循环和迭代器的性能比较
开发语言·后端·学习·rust