最新 最热

再不用担心面试官问 HashTable 和 HashMap 的区别了

HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。

2022-04-15
1

基于JDK8的HashMap实现(万字详解)

这篇文章我们来聊一聊JDK1.8中,HashMap的具体实现。并结合JDK1.7,来看看HashMap有哪些改进。

2022-04-15
1

大数据计算:如何仅用1.5KB内存为十亿对象计数

Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K

2022-04-14
1

Java(1)-Java中的Map List Set等集合类

在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:

2022-04-14
1

浅谈MatrixOne如何用Go语言设计与实现高性能哈希表

MatrixOne是一个新一代超融合异构数据库,致力于打造单一架构处理TP、AP、流计算等多种负载的极简大数据引擎。MatrixOne由Go语言所开发,并已于2021年10月开源,目前已经release到0.3版本。在MatrixOne已发布的性能报告中,...

2022-04-14
2

Java安全-反序列化-2-CC

TransformedMap,⽤于对Map类型的对象做修饰,被修饰过的Map在添加新的元素时,将可以执⾏⼀个回调。如下,传入变量innerMap,返回outerMap。outerMap在添加新元素时,keyTransformer是处理新元素的Key的回调,valueTransformer是...

2022-04-14
1

Java安全-反序列化-1-URLDNS

Java在序列化对象时,将会调用这个对象的writeObject方法,参数类型是ObjectOutputStream,开发者可以将任何内容写入这个Stream中;反序列化时,也会调用这个对象的readObject方法,可以读取到前面写入的内容并进行处理...

2022-04-14
1

面试官:为什么 HashMap 并发时会引起死循环?

今天研读 Java 并发容器和框架时,看到为什么要使用 ConcurrentHashMap 时,其中有一个原因是:线程不安全的HashMap, HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,查找时...

2022-04-14
1

面试官:为什么重写 equals 同时要重写 hashCode? 我:…

重写equals是为了在业务逻辑上判断实例之间是否相等。重写hascode是为了让集合快速判重。

2022-04-14
1

引起Java中内存泄露的8种场景归纳,建议收藏

如HashMap、LinkedList等等。如果这些容器为静态的,那么它们的生命周期与程序一致,则容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。简单而言,长生命周期的对象持有短生命周期对象的引用,尽管短生命周期的对...

2022-04-14
1