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

好的企业型网站模板下载厦门国外网站建设公司

好的企业型网站模板下载,厦门国外网站建设公司,剪辑师培训班,不懂英文怎么做英文的seo网站面试 Java 基础八股文十问十答第十八期 作者#xff1a;程序员小白条#xff0c;个人博客 相信看了本文后#xff0c;对你的面试是有一定帮助的#xff01;关注专栏后就能收到持续更新#xff01; ⭐点赞⭐收藏⭐不迷路#xff01;⭐ 1#xff09;多线程场景下如何使用…面试 Java 基础八股文十问十答第十八期 作者程序员小白条个人博客 相信看了本文后对你的面试是有一定帮助的关注专栏后就能收到持续更新 ⭐点赞⭐收藏⭐不迷路⭐ 1多线程场景下如何使用 ArrayList ArrayList 不是线程安全的多个线程同时对其进行读写操作可能会导致数据不一致或其他异常。如果需要在多线程环境中使用 ArrayList可以考虑使用线程安全的集合类如 CopyOnWriteArrayList 或通过使用同步机制来保证线程安全。如果多个线程需要同时读取 ArrayList可以使用不可变的方式来保证线程安全例如将 ArrayList 声明为 final 或使用 Collections.unmodifiableList() 方法返回一个只读的 List。 2为什么 ArrayList 的 elementData 加上 transient 修饰 ArrayList 的 elementData 字段加上 transient 修饰是为了在序列化过程中排除该字段。transient 关键字表示该字段不会被序列化这是因为 ArrayList 的序列化过程是通过对数组元素进行逐个序列化来实现的而不是对整个数组进行序列化。因此为了避免重复序列化数组元素elementData 字段被标记为 transient。 3List 和 Set 的区别 List 是有序的集合可以存储重复的元素可以通过索引访问元素。常见的 List 实现类有 ArrayList 和 LinkedList。Set 是无序的集合不能存储重复的元素不支持通过索引访问元素。常见的 Set 实现类有 HashSet 和 TreeSet。List 允许元素的插入和删除操作可以通过索引来操作元素。Set 不允许重复元素的存在插入重复元素会被忽略。List 的遍历顺序是按照元素的插入顺序而 Set 的遍历顺序是不确定的。List 和 Set 都是接口可以根据具体的需求选择使用哪个接口及其实现类。 总结来说List 适合需要按照顺序存储元素并且需要频繁访问元素的场景而 Set 适合需要去重并且不关心元素的顺序的场景。 4说一下 HashSet 的实现原理 HashSet 是基于 HashMap 实现的底层使用 HashMap 存储元素。HashSet 中的元素被存储在 HashMap 的 key 中而 value 则被设置为一个固定的常量 Object。当向 HashSet 中添加元素时实际上是将元素作为 key 存储到 HashMap 中而 value 则是一个固定的常量 Object。HashSet 利用 HashMap 的 key 的唯一性来保证元素的唯一性。 5HashSet如何检查重复HashSet是如何保证数据不可重复的 HashSet 检查重复的方式是通过 HashMap 的 key 的唯一性来实现的。当向 HashSet 中添加元素时HashSet 会将元素作为 HashMap 的 key 存储而 value 则是一个固定的常量 Object。由于 HashMap 的 key 是唯一的所以当尝试向 HashSet 中添加重复的元素时新元素的 key 会与已存在的 key 相同导致添加操作失败从而保证了 HashSet 中不会存在重复的元素。 6HashSet与HashMap的区别 存储方式HashSet 是基于 HashMap 实现的底层使用 HashMap 存储元素。元素类型HashSet 存储的是不重复的元素而 HashMap 存储的是键值对key-value。元素顺序HashSet 是无序的元素的顺序是不确定的而 HashMap 是无序的元素的顺序是由键的哈希值决定的。元素访问HashSet 不支持通过索引访问元素而 HashMap 可以通过键来访问对应的值。重复元素HashSet 不允许重复元素的存在添加重复元素会被忽略而 HashMap 允许键的重复但不允许值的重复。性能HashSet 的性能略低于 HashMap因为 HashSet 需要通过哈希计算来确定元素的存储位置而 HashMap 需要同时存储键和值。 综上所述HashSet 和 HashMap 在存储方式、元素类型、元素顺序、元素访问、重复元素和性能等方面存在一些区别。选择使用哪个取决于具体的需求和使用场景。 7BlockingQueue是什么 BlockingQueue是Java中的一个接口它表示一个支持线程安全的、有限容量的队列。它定义了一组用于添加、移除、查询元素的方法以及阻塞等待队列操作的方法。BlockingQueue通常用于多线程环境下的生产者-消费者模型其中生产者线程将元素放入队列消费者线程从队列中取出元素进行处理。BlockingQueue提供了一种线程安全的方式来实现线程间的数据传输和同步。 8说一下 HashMap 的实现原理 HashMap 是 Java 中常用的数据结构之一它是基于哈希表实现的。HashMap 通过将键值对存储在一个数组中并使用键的哈希值来确定存储位置从而实现快速的插入、删除和查找操作。HashMap 的实现原理如下 HashMap 使用数组和链表或红黑树的组合来存储键值对。当向 HashMap 中插入键值对时首先根据键的哈希值计算出在数组中的存储位置如果该位置为空则直接插入如果该位置已经存在元素则通过比较键的哈希值和键的相等性来判断是否为相同的键如果是相同的键则更新对应的值如果是不同的键则将该键值对添加到链表或红黑树的末尾。当从 HashMap 中获取值时根据键的哈希值计算出在数组中的存储位置然后遍历链表或红黑树进行比较找到对应的键值对并返回值。当从 HashMap 中删除键值对时根据键的哈希值计算出在数组中的存储位置然后遍历链表或红黑树进行比较找到对应的键值对并删除。 9HashMap在JDK1.7和JDK1.8中有哪些不同 HashMap的底层实现 在 JDK 1.7 和 JDK 1.8 中HashMap 的实现有以下不同之处 JDK 1.7 中的 HashMap 使用数组和链表的组合来存储键值对当链表长度超过一定阈值时会将链表转换为红黑树以提高查找效率。而 JDK 1.8 中引入了红黑树的新实现即链表长度超过一定阈值时会进行树化操作使得整个查找过程更加高效。JDK 1.8 中的 HashMap 在处理哈希冲突时使用了一种新的方式即通过计算键的哈希值和数组长度的按位与操作来确定存储位置而不是传统的取模操作这样可以更快地计算出存储位置。JDK 1.8 中的 HashMap 在扩容时使用了一种新的方式即将原来的数组分成两个部分分别处理原数组中的元素和新增元素减少了元素的复制次数提高了扩容的效率。 10HashMap的put方法的具体流程 HashMap 的 put 方法的具体流程如下 首先根据键的哈希值计算出在数组中的存储位置。如果该位置为空则直接将键值对插入到该位置。如果该位置已经存在元素则遍历链表或红黑树进行比较找到对应的键值对。如果找到了相同的键则更新对应的值。如果找到了不同的键则将该键值对添加到链表或红黑树的末尾。如果链表或红黑树的长度超过一定阈值进行相应的转换操作链表转换为红黑树或红黑树转换为链表。如果数组的使用空间超过了负载因子默认为 0.75乘以数组长度的阈值进行扩容操作将原来的数组扩大一倍并重新计算存储位置。 通过以上流程HashMap 的 put 方法可以实现将键值对添加到 HashMap 中并根据键的哈希值进行查找和更新操作。 开源项目地址https://gitee.com/falle22222n-leaves/vue_-book-manage-system 前后端总计已经 800 Star1.5W 访问 ⭐点赞⭐收藏⭐不迷路⭐
http://www.zqtcl.cn/news/31068/

相关文章:

  • 有没有可以做各种字体的网站WordPress上展示PDF
  • 专业设计素材网站开源零代码开发平台
  • 济南建站公司电话杭州手机网站制作公司
  • 网站页面字体设置网站html地图导航代码
  • 北京网站建设公司电话汕头站扩建效果图
  • 怎么做合买彩票网站多商户商城小程序源码
  • 网站适合用angular做吗织梦5.5模版安装上去为什么打开网站图片不能显示教程
  • 做谷歌网站wordpress评论区镶嵌图片
  • 西安网站建设西安有哪些网页设计软件
  • 东营市做网站注册企业邮箱收费吗
  • 网站开发工具概述与比较长安东莞网站设计
  • 句容网站设计公司妇产科医生免费咨询
  • 做网站的成本深圳建设花了多少钱
  • 下面不属于网络推广方法江门关键词优化效果
  • 单页面网站推广方法网站开发技术合作协议书
  • 临沂小学网站建设wordpress淘宝客插件
  • 17做网店一样的网站设计网站推荐视频
  • 太原建站服务手机报价大全2021中关村
  • seo网站内容如何查询网站备案信息查询
  • 天津圣辉友联网站建设办公空间设计案例整套
  • 免费pc网站建设友情链接平台站长资源
  • 玉林市网站建设北京网站建设app开发
  • 济南自助建站泉州野外拓展网站建设
  • 永嘉县住房和城乡规划建设局网站襄阳头条新闻
  • 找人做仿网站山东城市建设招生网站
  • 建设部官方网站长春seo公司排名
  • 网站开发实习过程吉林网页制作公司
  • 做网站实际尺寸是多少苏州谷歌seo
  • 帮人做网站在徐州被敲诈五万广州代理记账公司
  • 建设网站建设目的意义wordpress 自己写