实现一个简单的HashMap
朋友面试,遇到了一个问题,在没有提供HashMap API的情况下,怎么实现一个HashMap
这个问题,考察的无非是对HashMap的理解,考察的HashMap的底层结构
话不多说直接上图
java中有两种锁的加锁方式:一种是用于synchronized关键字,另一种是用Lock接口实现类
形象地说,synchronized关键字是自动挡,可以满足一切日常驾驶需求。但是如果你想要玩其他的骚操作,就需要手动挡—各种Lock实现类
所以如果你只是想要简单的加个锁,对性能也没有什么特别的要求,用synchronized关键字就足够了。自从Java 5 之后,才在java.util.concurrent.locks包下有了另一种方式来实现锁那就是Lock。也就是说,synchronized是Java语言内置的关键字,而Lock是一个接口,这个接口的实现类在代码层面实现了锁的功能,具体实现有兴趣可以自己研究一下哦。
1 / 2