首页 > 编程语言 >Java-集合-八股文

Java-集合-八股文

时间:2023-07-16 17:34:20浏览次数:45  
标签:扩容 基于 八股文 hashmap 线程 集合 Java segment 分段

  1. list、set
  2. list:有序,可重复,允许多个null,支持下标随机访问
    set:无序,不可重复,单一null,必须遍历访问
    
  3. arraylist、linkedlist
  4. arraylist:基于数组实现,占用连续空间,有利于查找、修改,不利于插入、删除[适用场景不同]
    linkedlist:基于链表实现,不要求占用空间连续,有利于插入、删除,不利于查找、修改[适用场景不同]
    
  5. concurrenthashmap扩容机理
  6. 1.7之前:基于segment分段hashmap存储实现的,segment分段存储部分不扩容,仅内部的hashmap进行扩容[哪个线程对应的内部hashmap需要扩容,哪个线程就负责做这个事情]
    1.8之后:不是基于segment分段存储实现的,所有的K-V对都包含在一个map中,只是扩容的时候,那就每个子线程都参与扩容
    

标签:扩容,基于,八股文,hashmap,线程,集合,Java,segment,分段
From: https://www.cnblogs.com/dengliang356a/p/17558200.html

相关文章

  • Java处理子父级菜单的方式二
    处理存在子父级关系的数据是写代码的过程中常见的操作,前面讲解过使用递归的方法来做,可以参考这篇博客https://www.cnblogs.com/yilangcode/p/16831867.html今天来聊聊一种新的处理方式。使用List集合多轮遍历,添加子父级菜单信息。建表SQLDROPTABLEIFEXISTS`sa_menu`......
  • java序列化和反序列化
    感觉网上很多博客对这个的解释实在太官方了,也没说为什么一定要实现序列化接口。去看看rpc框架源码,或者java网络编程或者向磁盘进行序列化就知道了。首先这是个标记接口,就是用来告诉程序某某对象是可序列化对象,像dubbo框架,要传输对象就必须序列化。网络编程已经告诉你了,想要向另......
  • Java性能优化-测试try-catch放在循环内和外的性能对比与业务区别
    场景Java中使用JMH(JavaMicrobenchmarkHarness微基准测试框架)进行性能测试和优化:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751使用如上方式测试Java中try-catch放在循环内和循环外是否有性能上的差别。注:博客:https://blog.csdn.net/badao_lium......
  • 周日 集合
    集合是手机和组织其他对象的对象集合中的元素通常根据他们添加到集合的顺序或者元素之间的某种内在关系来组织集合是一种抽象,其隐藏了实现细节 数据结构是用于实现集合的底层编程结构栈元素以LIFO方式处理:最后入栈的元素第一个出栈push将元素添加到栈顶 pop从栈顶删除元......
  • 用java写一个逆置单链表
    用Java写一个逆置单链表单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用。逆置单链表是指将原来的单链表中的节点顺序颠倒过来。在这篇文章中,我们将使用Java来实现逆置单链表的功能。我们将会介绍单链表的基本概念,并给出逆置单......
  • 用java创建一个单链表
    使用Java可以很方便地创建和操作数据结构,其中包括单链表。单链表是一种常见的线性数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。这种数据结构可以用于实现队列、栈、链表等等。在本文中,我们将学习如何使用Java创建一个单链表,并演示一些基本的操作。首先,我......
  • day07 7.1 Java中的面向对象之类与对象
    day077.1Java中的面向对象之类与对象【一】类与对象【1】类定义规范类与对象的关系类是实体对象的概念模型,笼统的,不具体的,比如人类、动物类、鸟类对象又称为实体,类具体化的表现小红/小明小猫一号/小狗一号对象中有属性,有方法不同对象属性是独有的方法是共......
  • JavaScript:将对象数组映射到字典
    JavaScript:将对象数组映射到字典#javascript#打字稿#数据在JavaScript/TypeScript中将对象数组转换为字典的最简单方法:letdata=[{id:1,country:'Germany',population:83623528},{id:2,country:'Austria',population:8975552},{id:3,country......
  • Java性能优化-测试数组和链表在查询和添加删除时性能对比
    场景Java中使用JMH(JavaMicrobenchmarkHarness微基准测试框架)进行性能测试和优化:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751上面在使用JMH时测试了Java中数组和链表在进行头部插入时的对比结果。下面分别对比在头部、中部、尾部分别进行查询和......
  • Java在指定位置添加字符串
    Java在指定位置添加字符串的实现作为一名经验丰富的开发者,我很乐意教会刚入行的小白如何在Java中实现在指定位置添加字符串的操作。在本篇文章中,我将按照以下步骤详细说明整个实现过程:获取原始字符串创建一个StringBuilder对象使用StringBuilder的insert()方法在指定位置插入......