12 2017 档案

摘要:我们知道 HashMap 是一种键值对形式的数据存储容器,但是它有一个缺点是,元素内部无序。由于它内部根据键的 hash 值取模表容量来得到元素的存储位置,所以整体上说 HashMap 是无序的一种容器。当然,jdk 中也为我们提供了基于红黑树的存储的 TreeMap 容器,它的内部元素是有序的,但 阅读全文
posted @ 2017-12-22 10:31 Single_Yam 阅读(2331) 评论(0) 推荐(3) 编辑
摘要:HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发下,多个线程同时操作一条链表将直接导致闭链,死循环并占满 CPU。 当然,jdk 1.8 以来,对 阅读全文
posted @ 2017-12-13 09:20 Single_Yam 阅读(19157) 评论(6) 推荐(17) 编辑
摘要:1、本博客的原创原创文章,都是本人平时学习所做的笔记,转载请注明出处,否则将追究其责任,谢谢合作。 2、本博客的文章,未注明原创原创的,转载自其它博客或网站,作为自己的参考资料,感谢这些文章的原创人员。 3、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理删除文章。 4、如果本博客的文 阅读全文
posted @ 2017-12-12 13:19 Single_Yam 阅读(367) 评论(0) 推荐(0) 编辑
摘要:HashMap 作为一种容器类型,无论你是否了解过其内部的实现原理,它的大名已经频频出现在各种互联网面试中了。从基本的使用角度来说,它很简单,但从其内部的实现来看(尤其是 Java 8 的改进以来),它又并非想象中那么容易。如果你一定要问了解其内部实现与否对于写程序究竟有多大影响,我不能给出一个确切 阅读全文
posted @ 2017-12-07 09:09 Single_Yam 阅读(13917) 评论(1) 推荐(14) 编辑
摘要:对于一个对象来说,我们为了保证它的并发性,通常会选择使用声明式加锁方式交由我们的 Java 虚拟机来完成自动的加锁和释放锁的操作,例如我们的 synchronized。也会选择使用显式锁机制来主动的控制加锁和释放锁的操作,例如我们的 ReentrantLock。但是对于容器这种经常发生读写操作的类型 阅读全文
posted @ 2017-12-02 11:29 Single_Yam 阅读(1096) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示