java工程师自我介绍 currenthashmap是线程安全的吗,数据结构,底层怎么优化的?
currenthashmap是线程安全的吗,数据结构,底层怎么优化的?
Currenthashmap是线程安全的。当多个线程同时更新一个数据时,不会出现同时得到修改的情况。在java7和java8中,结构不一样,java8做了很多优化。
1. 并发HashMap是通过数组链表的段锁来实现的。
2. 锁定操作锁定一个部分,而不是锁定整个结构。其它各段均能正常工作,保证了螺纹的安全性,提高了效率。
3. 但是,这个位置很麻烦。元素位置需要散列两次,第一次是定位段,第二次是定位元素所在的链表头。
1. java8采用数组链表红黑树设计,CAS实现线程安全。
2. 最初在Java7中使用的段锁定现在被调整为锁定每个数组元素。
3. 与java8中的HashMap一样,它采用了红黑树结构,因此查询效率更快。当链表节点数超过8个时,链表将被转换成红黑树存储,但哈希冲突加剧。
4. 查询时间复杂度:从原始遍历链表o(n)到遍历红黑树o(logn)。
三月底离职,到目前面试了十几家,为什么面试官总是喜欢问很底层的原理问题?这些问题?
你好,很高兴回答您的问题
!作为一个在就业市场工作多年,参与过多次求职,完成过多次招聘和职位描述的人,我想谈谈我对这个问题的看法。
公司招聘,其实是立足实际,作为面试官需要通过面试过程中的信息筛选来选择最合适的人。如果是一些基本岗位,那么基层的经验和原则是考察一个人岗位熟练程度的最佳方式。至于身高问题,更多的是测试求职者的附加值,即惊喜。这可作为参考条件。
面试官面试时,他们会有自己的“例行公事”。作为一名候选人,我们要做的就是公开招聘。一个简单的问题,同样的答案,不同的人有不同的判断,不要担心面试官问什么,专注于你的回答
!当我们进行工作面试时,我们的重点应该是如何通过面试。至于对方问什么,如何判断其实并不重要。
对于一些与基础经验相关的职位,提出现场原则性问题可以表明考生对现场问题的理解和掌握!下面的问题只反映了一个人的实际经验。如果你曾经当场做过什么事,你可以当场问一个小问题来看看。这些只是最好的工具来检查“面吧”。
为什么面试要问hashmap的原理?
当面试官询问HashMap的原理时,他们可能只是在调查你是否有专门学习的精神,因为HashMap是最常用的。如果你不知道HashMap的原理,面试官可能会定义你只能使用任何东西,但你不知道原理。现在有那么多人可以使用它,为什么选择你呢?所以这个问题可能是筛选的一个条件。
当然,要知道主要的原理,才能更好的使用和解决问题,这是最重要的。
CocurrentHashMap和Hashtable的区别,cocurrenthashmap?
哈希表被广泛使用。HashMap是在新框架中用来替换hashtable的类。换句话说,建议使用HashMap而不是hashtable。
也许您认为哈希表很容易使用,为什么不呢?下面简要分析一下他们之间的差异。1hashtable的方法是同步的,HashMap是不同步的,所以hashtable的方法是同步的
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。