当前位置: 首页 > news >正文

阿里网站年费怎么做分录网站数据比较

阿里网站年费怎么做分录,网站数据比较,百度识图网页版 在线,商标设计logo免费软件面试题002-Java-Java集合 目录 面试题002-Java-Java集合题目自测题目答案1. 说说 List,Set,Map 三者的区别#xff1f;三者底层的数据结构#xff1f;2. 有哪些集合是线程不安全的#xff1f;怎么解决呢#xff1f;3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同三者底层的数据结构2. 有哪些集合是线程不安全的怎么解决呢3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同4. HashMap 和 Hashtable 的区别HashMap 和 HashSet 区别 HashMap 和 TreeMap 区别5. HashMap 的底层实现6. HashMap 的长度为什么是 2 的幂次方7. ConcurrentHashMap 和 Hashtable 的区别8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现 参考资料 题目自测 1. 说说 List,Set,Map 三者的区别三者底层的数据结构 2. 有哪些集合是线程不安全的怎么解决呢 3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同 4. HashMap 和 Hashtable 的区别HashMap 和 HashSet 区别 HashMap 和 TreeMap 区别 5. HashMap 的底层实现 6. HashMap 的长度为什么是 2 的幂次方 7. ConcurrentHashMap 和 Hashtable 的区别 8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现 题目答案 1. 说说 List,Set,Map 三者的区别三者底层的数据结构 答List 有序、可以包含重复元素。主要实现类为 ArrayList 底层数据结构为动态数组。 Set 无序不可以包含重复元素。主要实现类为 HashSet 底层数据结构为哈希表。 Map 存储键值对键不能重复值可以重复。主要实现类为 HashMap 底层数据结构为数组链表/红黑树。 2. 有哪些集合是线程不安全的怎么解决呢 答常见的线程不安全的集合类有 ArrayListLinkedListHashSetTreeSet HashMapTreeMap等。 解决办法有1.使用concurrent包中的并发集合类如ConcurrentHashMap等。 2.使用Collections类的静态方法返回线程安全的集合。 3.使用synchroniza关键字对需要同步的代码块加锁。 3. 比较 HashSet 、LinkedHashSet 和 TreeSet 三者的异同 答相同点是这三个类都实现了Set接口都提供了集合的基本操作都是线程不安全的。 HashSet 底层数据结构为哈希表元素无序。 LinkedHashSet 底层数据结构为链表和哈希表元素按照插入顺序排序先进先出。 TreeSet 底层数据结构为红黑树按照自然排序或者通过Comparator自定义排序。 4. HashMap 和 Hashtable 的区别HashMap 和 HashSet 区别 HashMap 和 TreeMap 区别 答 HashMap 和 Hashtable HashMap 线程不安全。可以存储一个null键和多个null值。初始容量为16扩容时容量翻倍。Hashtable 线程安全其中的大部分方法使用synchronized关键字修饰。不可以存储null键和值。初始容量为11扩容时容量变为原来的2n1。 HashMap 和 HashSet HashMap 存储键值对基于哈希表实现。HashSet 仅存储不重复的元素基于HashMap实现。 HashMap 和 TreeMap HashMap 基于哈希表实现不保证顺序操作时间复杂度为O(1)。TreeMap 基于红黑树实现按照自然排序或者通过Comparator自定义排序操作时间复杂度为O(log n)。 5. HashMap 的底层实现 答它的底层是基于数组链表、JDK8之后还包括红黑树来存储键值对。 在存储数据时使用键的hashCode方法计算哈希值通过哈希值确定元素在数组中的位置。HashMap会根据数组的占用情况自动的调整容量当超过阈值时会进行扩容大小为原来的两倍并将旧数组的所有元素重新计算哈值后放入新数组。如果该位置为空就直接插入否则就检查链表或者红黑树如果链表中已经存在相同的键就更新对应的值如果不存在相同的键则插入新节点JDK8以后当链表长度超过阈值8时就将链表转为红黑树。 6. HashMap 的长度为什么是 2 的幂次方 答HashMap的长度为2的幂次方主要是为了简化索引计算、减少哈希冲突和提高性能。通过位运算代替取模运算可以更高效地计算数组索引并确保哈希值的均匀分布。 7. ConcurrentHashMap 和 Hashtable 的区别 答两者的区别主要体现在实现线程安全的方式上不同 Hashtable 使用单一锁机制使用synchronized关键字来实现适用于低并发场景。 ConcurrentHashMap 采用了一种更复杂的机制包括CAS操作、分段锁和sychronized相结合的方式来实现线程安全提供更高的并发性能。 8. ConcurrentHashMap 线程安全的具体实现方式/底层具体实现 答在JDK1.7及之前采用分段锁机制它通过将整个Map分成多个Segment每个Segment都有自己的锁从而允许多线程同时访问不同的Segment。 在JDK8及以后取消了Segment采用synchronized和CAS操作直接对哈希表中的节点进行操作通过更加细粒度的锁保证了高效的并发访问。 参考资料 JavaGuide牛客网-Java面试宝典
http://www.ho-use.cn/article/10818597.html

相关文章:

  • 做店铺图片什么网站大学生网站开发
  • 四川门户网站建设郑州市网站制作公司
  • 大连网站建设方法淘宝客网站怎么做
  • 网站建设与推广的步骤百度搜索引擎入口登录
  • 做网站前台开发学习html编辑器安卓版下载
  • 那些做面点的网站好广州地区网站建设
  • 网站建设使用的什么软件有哪些apple官网
  • 怎么自己做APP网站wordpress屏蔽国外访问
  • 专做实习生招聘的网站网站建设的功能有哪些方面
  • 广州黄埔网站制作学做网站需要多久时间
  • 网站建设的好不好wordpress一键还原
  • 明星网页网站制作wordpress 手机管理员密码
  • 做网站需要做哪些东西十大咨询公司排行榜
  • 捕鱼网站怎么做乐山建网站
  • 网站建设工作量统计表嵌入式软件能干一辈子
  • 呼伦贝尔旅游网站建设seo软件简单易排名稳定
  • 资源站源码永久龙华网站建设网站定制
  • 唯一做性视频的网站电脑网页打不开是什么原因
  • 在哪个网站注册域名旅游高端网站建设
  • 廊坊论坛网站建设惠山网页制作
  • 网站网站制作400多少钱wordpress安装完成
  • wordpress和e潍坊优化网站
  • 旅游网站开题报告Wordpress热门评论插件
  • 免费网站注册永久泉州做网站多少钱
  • 制作公司网站价格wordpress二次元主题个人
  • 合肥大型网站搭建什么网站好玩
  • 水利网站建设下载微信小程序app
  • 青州住房和城乡建设网站网站首页列表布局设计
  • 做会议活动的网站西安网站推广慧创科技
  • 好的手机网站室内装修设计师学什么专业