首页
学习
活动
专区
工具
TVP
发布

狗哥的 Java 世界

专栏作者
278
文章
290104
阅读量
32
订阅数
HashMap 夺命 14 问!
哈喽,小伙伴们好。金三银四可能很多小伙伴都考虑换个环境,那么面试是少不了的,基础更加重要。
JavaFish
2022-04-18
3120
工作三年,小胖连 HashMap 源码都没读过?真的菜!
在 JDK 1.7 中 HashMap 是以「数组加链表」的形式组成的,JDK 1.8 之后新增了「红黑树」的组成结构,「当链表长度大于 8 并且 hash 桶的容量大于 64 时,链表结构会转换成红黑树结构」。所以,它的组成结构如下图所示:
JavaFish
2021-02-03
3780
Java 并发(9)ConcurrentHashMap 源码分析
我们知道哈希表是一种非常高效的数据结构,设计优良的哈希函数可以使其上的增删改查操作达到 O (1) 级别。Java 为我们提供了一个现成的哈希结构,那就是 HashMap 类,在前面的文章中我曾经介绍过 HashMap 类,知道它的所有方法都未进行同步,因此在多线程环境中是不安全的。为此,Java 为我们提供了另外一个 HashTable 类,它对于多线程同步的处理非常简单粗暴,那就是在 HashMap 的基础上对其所有方法都使用 synchronized 关键字进行加锁。
JavaFish
2020-04-15
5980
HashMap 线程不安全的体现
在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:
JavaFish
2020-01-02
3740
为什么ConcurrentHashMap的读操作不需要加锁?
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?
JavaFish
2019-11-18
5650
面试必备:30 个 Java 集合面试问题及答案
Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。
JavaFish
2019-11-06
4590
java | 深入理解Java枚举类型(二)
blog.csdn.net/javazejian/article/details/71333103
JavaFish
2019-10-17
1.2K0
为什么要重写 hashcode 和 equals 方法?
来源:cnblogs.com/JavaArchitect/p/10474448.html
JavaFish
2019-10-17
3870
Java面试官:给Java面试者的八点建议
www.cnblogs.com/JavaArchitect/p/10011253.html
JavaFish
2019-10-17
6140
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档