十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下java并发编程的面试题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
我们提供的服务有:成都网站建设、网站设计、微信公众号开发、网站优化、网站认证、西丰ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的西丰网站制作公司
Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。
1、如何实现Vector(HashTable)的线程安全
用synchronized关键词修改每一种方法。
根据synchronized关键词引用问题。
2、ConcurncurentHashMap的线程安全与HashTable不同:
ConcurrentHashMap可以理解为,它不是直接持有一个HashMao,而是用多个Segment来代替一个HashMap。但是实际实现的Map部分与HashMap的原理基本相同,通过脚标取模来确定table[i]的所属部分,从而获得不同的段锁。
每一个Segment都有一个锁,通过分段加锁,既实现了线程安全,又兼顾了性能。
3、synchronizedList和Vector的区别
在synchronizedList的实现中,synchronized关键字修改代码块;Vector的修改方法。
synchronizedList只包含add、get、remove等代码块,但Iterator不同步,经过一段时间后需要手动同步处理的Vector也锁定了Iterator。
synchronizedList可以将所有List实现类包装成同步集合,其内部仍然拥有List实现类(ArrayList/LinkedList),因此除了同步之外,几乎只有这个实现类和Vector之间的区别。
4、ConcurentLinkedQueue插入算法
算法的核心可以概括为两个步骤:
首先检查是否为中间状态(SPIN)
再次尝试CAS插入。
以上是“java并发编程的面试题有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!