最新 最热

物联网的服务端设计(三)会话管理

这次我们要搞的是给咱们的iot服务端增加一个会话管理,并定时打印一个关于连接情况的报表。创建一个会话管理类 SessionManager。首先我们创建两个Map对象,分别用来存储以channel为key的会话信息,和以devid为key的channel...

2022-12-08
1

迭代器

迭代器是操作集合的工具,当我们已经创建了一个迭代器之后,我们就不能再对原集合进行修改,否则可能报错出现问题

2022-12-07
1

Java 程序该怎么优化?技巧篇

研发过程中,String 的 API 用的应该是最多,创建 String 对象,以及字符串分割处理那是常有的事儿。

2022-12-07
2

猿创征文|点亮JAVA技术之灯(线程篇)

2、SynchronizedMap和ConcurrentHashMap有什么区别?

2022-12-06
1

一文解读所有HashMap的面试题

关于 HashMap 阿粉相信大家再面试的时候,是非常容易被问到的,为什么呢?因为至少是在 JDK8 出来之后,非常容易被问到关于 HashMap 的知识点,而如果对于没有研究过他的源代码的同学来说,这个可能只是说出一部分来,比如线程安全...

2022-12-04
1

起飞,手撸了一个 LRU 缓存,源码原来这么简单!

LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。

2022-12-04
2

Java HashMap 在获得 Key 的 Hash 值的时候用的是什么算法

Java 在 HashMap Key 的 Hash 值的时候用的的是自己 Object 中的 hashCode() 算法。

2022-12-03
2

Java Hash 碰撞

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。...

2022-12-03
1

Java HashMap 的扩容因子为什么是 0.75

假设加载因子是0.5,HashMap初始化容量是16,当HashMap中有16 * 0.5=8个元素时,HashMap就会进行扩容操作。

2022-12-03
1

HashMap 的初始值和最大值和扩容因子

HashMap 最大值是1 << 30。 << 这个是 Java 使用的移位操作符,运行的结果为 2^30,这个在源码的注释中已经明确说明。

2022-12-03
1