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

JavaEdge

关注公众号:JavaEdge,加入全国最大的后端交流群。
专栏作者
2430
文章
2466981
阅读量
176
订阅数
【Java实现】向现有Map键追加值而非覆盖
使用this.put(“String”, “String”)方法添加一个键值对。但是,它会覆盖现有值,而我想使用同一个键存储和配对多个值。
JavaEdge
2022-11-30
1.2K0
设计模式实战之享元模式(Flyweight Pattern)
主要用于减少创建对象的数量,以减少内存占用和提高性能。 属于结构型模式,提供了减少对象数量从而改善应用所需的对象结构的方式。
JavaEdge
2022-11-30
1730
Java 集合源码解析 - ConcurrentHashMap(JDK7)
HashMap在并发执行put会引起死循环,是因为多线程会导致HashMap的Entry链表成环,一旦成环,Entry的next节点永远不为空,产生死循环
JavaEdge
2022-11-30
7430
5-基础构建模块
同步容器类包括Vector和HashTable,二者是早期JDK一部分,此外还包括在JDK 1.2中添加的一些功能相似的类,这些的同步封装器类是由Collections.synchronizedXxx等工厂方法创建的。这些类实现线程安全的方式是:将他们的状态封装起来,并对每个共有方法进行同步,使得每次只有一个线程能访问容器的状态。
JavaEdge
2022-11-29
2810
当HashMap的键遇见自定义类型时
这是Java中经典的问题,在面试中也经常被问起.很多书提到要重载hashCode()和equals()两个方法才能实现自定义键在HashMap中的查找,但是为什么要这样以及如果不这样做会产生什么后果,好像很少有文章讲到,所以来这一篇记录下.
JavaEdge
2022-11-29
3600
关注专栏作者,随时接收最新技术干货
JavaEdge
华为软件开发工程师
Spring RestTemplate为何必须搭配MultiValueMap?
微服务之间的大多都是使用 HTTP 通信,这自然少不了使用 HttpClient。 在不适用 Spring 前,一般使用 Apache HttpClient 和 Ok HttpClient 等,而一旦引入 Spring,就有了更好选择 - RestTemplate。
JavaEdge
2021-12-07
1K0
LinkedHashMap源码解析
红黄箭头:元素添加顺序 蓝箭头:单链表各个元素的存储顺序 head:链表头部 tail:链表尾部
JavaEdge
2021-12-07
3100
绝了!这是我见过最详细的HashMap源码解析
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长.
JavaEdge
2021-12-07
9930
【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写
链表实现的LRU缓存淘汰算法的时间复杂度是O(n),当时我也提到了,通过散列表可以将这个时间复杂度降低到O(1)。
JavaEdge
2021-12-07
4250
【图解数据结构】外行人也能看懂的哈希表
输入一个错误的英文单词,它就会提示“拼写错误”。这个单词拼写检查功能,虽然很小但却非常实用。是如何实现的呢?
JavaEdge
2021-12-07
6570
为什么HashSet里value不是null?
HashSet底层的value为啥不是一个 null呢,效率不是更高,还省得创建对象了?
JavaEdge
2021-12-07
6310
Java集合源码解析-ConcurrentHashMap(JDK8)
Java 7为实现并发访问,引入了Segment这一结构,实现了分段锁,理论上最大并发度与Segment个数相等。
JavaEdge
2021-12-07
2110
【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写
链表实现的LRU缓存淘汰算法的时间复杂度是O(n),当时我也提到了,通过散列表可以将这个时间复杂度降低到O(1)。
JavaEdge
2021-10-18
6920
【图解数据结构】外行人也能看懂的哈希表
输入一个错误的英文单词,它就会提示“拼写错误”。这个单词拼写检查功能,虽然很小但却非常实用。是如何实现的呢?
JavaEdge
2021-10-18
8380
为什么HashSet里value不是null?
HashSet底层的value为啥不是一个 null呢,效率不是更高,还省得创建对象了?
JavaEdge
2021-10-18
8200
Java集合源码解析-ConcurrentHashMap(JDK8)
Java 7为实现并发访问,引入了Segment这一结构,实现了分段锁,理论上最大并发度与Segment个数相等。
JavaEdge
2021-10-18
2200
翻遍全网!找到最好的【Java实现】向现有Map键追加值而非覆盖
使用this.put(“String”, “String”)方法添加一个键值对。但是,它会覆盖现有值,而我想使用同一个键存储和配对多个值。
JavaEdge
2021-04-09
6120
Guava Cache缓存设计原理
Google开源的Java重用工具集库Guava里的一款缓存工具,实现的缓存功能:
JavaEdge
2021-02-23
9850
和Netty学习Java锁的使用
Atomic long V.S long 前者是个对象,包含对象头(object header)以保存hashcode、lock 等信息,64 位系统下占16字节,64位系统下:
JavaEdge
2021-02-22
4070
深入Netty源码解析内存优化技巧
Netty 通过在 DefaultFileRegion 包装了 NIO 的 FileChannel.transferTo() 实现零拷贝:іо.nеttу.сhаnnеl.DеfаultFіlеRеgіоn#trаnѕfеrТо
JavaEdge
2021-02-22
3310
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档