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

商丘做微信网站sqwyy南阳seo优化

商丘做微信网站sqwyy,南阳seo优化,如何做网站授权,吉林做网站优化文章目录 目录 文章目录 前言 一、泛型的作用 1.类型安全 2.通用性 这里再举个例子 二、泛型的实现 1.泛型类 2.泛型接口 3.泛型方法 4.T符号的起源(额外) 三、泛型擦除 四、泛型通配符 1.上界通配符( ) 为什么用于…

 文章目录

目录

文章目录

前言

一、泛型的作用

1.类型安全

2.通用性

这里再举个例子

二、泛型的实现

1.泛型类

2.泛型接口

3.泛型方法

4.T符号的起源(额外)

三、泛型擦除

四、泛型通配符

1.上界通配符( )

为什么用于读取?

2. 下界通配符( )

为什么用于写入?

3. 无界通配符( )

​​语法特点​​

?和T

总结

举例

五、泛型限制与注意事项


前言

集合(Collections) 是用于存储、管理和操作一组数据的容器,其核心作用是为开发者提供高效、灵活和标准化的数据管理方案


一、Collection

1.List

1.ArrayList

底层是数组,新增修改都是基于copy数组的形式,查询就是基于索引

详细请看从底层认识ArrayList

2.LinkedList

底层是以及静态内部类Node对象,通过前后指针指向不同节点,形成双向链表,查询数据需要从头或尾遍历链表,新增,修改,删除,也需要遍历到指定位置,后续直接改指针指向就行

详细请看LinkedList

3.CopyOnWriteArrayList(安全)

允许多线程读,不允许多线程同时写,底层就是在写的时候加了一个synchronized (lock) {} 锁代码块,保证线程安全,而读没加锁,其他的和ArrayList大同小异

4.Vector

过时了,直接加的方法锁,效率太低

List集合对比

实现类底层结构线程安全特点适用场景
ArrayList动态数组随机访问快(O(1)),增删中间元素慢(需移动元素,O(n))频繁查询,少增删
LinkedList双向链表增删快(O(1)),随机访问慢(需遍历,O(n))频繁头尾操作,需实现队列/栈
CopyOnWriteArrayList动态数组 + 写时复制读操作无锁,写操作复制新数组;读多写少性能高,写多时内存开销大高并发读,极少写(如监听器)

2.Set

1.HashSet

底层其实就是HashMap,存储的k,v值,直接调用HashMap中的方法。但是每次新增的时候v值是固定的,这就导致插入数组和链表时候相同k的数据会覆盖,导致值唯一

详细看HashSet

2.LinkedHashSet

底层是LinkedHashMap(看下面),和HashSet一样v固定,存的是k值

3.TreeSet

底层红黑树,自然有序,key值不重复

4.CopyOnWriteArraySet

基于CopyOnWriteArrayList,新增的时候循环判断是否存在数据

Set集合对比
实现类底层结构线程安全特点适用场景
HashSet基于 HashMap无序,快速插入、删除、查找(O(1))去重且无需顺序
LinkedHashSet链表 + HashMap维护插入顺序,性能略低于 HashSet需保持插入顺序的去重场景
TreeSet红黑树自然排序或自定义排序,查找/插入/删除 O(log n)需有序且去重的场景
CopyOnWriteArraySet基于 CopyOnWriteArrayList读多写少性能好,写操作效率低类似 CopyOnWriteArrayList
ConcurrentSkipListSet跳表(SkipList)有序,高并发下性能优于 TreeSet高并发有序集合

注意:set所谓的无序指的是实现的Set接口的默认实现(HashSet,TreeSet(自然有序)) ,而且无序是指的按插入顺序,自然List的有序也指的插入顺序(3,1,2)对应的查询顺序(3,1,2),而不是自然有序(1,2,3)

3.deque

继承自 Queue,支持两端操作(队尾,队首进行操作)

1.ArrayDeque

Queue接口的实现

2.ConcurrentLinkedDeque(安全)

没有复合操作,直接使用CAS来保证线程安全

4.queue

遵循FIFO(先进先出)原则的队列

1.PriorityQueue(支持有序)

元素按自然顺序或Comparator定义的顺序排序。

2.ConcurrentLinkedQueue(安全)

CAS来控制线程安全

二、Map

1.HashMap

底层是数据加链表(红黑树)的信息,无序,key不能重复,Value可重复

详情看HashMap

2.LinkedHashMap

底层就是HashMap,只不过多维护了一个双向链表结构(保证插入有序),简单来说每次新增的数据加入一个双向链表来维护顺序,不懂的看下面这篇文章

LinkedHashMap

3.Treemap

底层是红黑树,保证顺序(这里的顺序是自然顺序和key值相关),和LinkedHashMap顺序不同
详细看TreeMap

4.ConcureentHashMap(安全)

底层就是实现的HashMap,只不过加了sychronried锁,锁住了每一个桶(链表),数组不用锁,因为没有公共遍历处理,只有桶中可能会出现重复的key,会出现覆盖

5.ConcurrentSkipListMap

维护多层级的链表,是空间换时间的数据结构,链表构建时候层数生成随机,插入时候层数也随机,插入到生成层数及以下的层数中去,查询从高到低判断左右节点

Map集合对比
实现类底层结构线程安全特点适用场景
HashMap数组+链表/红黑树快速查找(O(1)),链表过长转红黑树(O(log n))通用键值存储,无需顺序
LinkedHashMap链表 + HashMap维护插入顺序或访问顺序需保留插入顺序(如 LRU 缓存)
TreeMap红黑树按键自然排序或自定义排序,操作 O(log n)需有序键的场景
Hashtable数组+链表全表锁,性能差遗留代码,不推荐使用
ConcurrentHashMapHashMap+CAS + synchronized高并发优化,锁粒度细 CAS + synchronized)高并发键值存储
ConcurrentSkipListMap跳表有序,高并发下性能优于 TreeMap高并发有序键值存储


http://www.dtcms.com/wzjs/424997.html

相关文章:

  • 河南网站建站系统平台旅游网络营销的渠道有哪些
  • 网站建设石家庄网络推广培训班
  • 网站备案的域名加不加www外链吧官网
  • 使用wordpress做网站知识付费小程序搭建
  • 芜湖酒店网站建设怎么做网络营销推广啊
  • 白家乐网站怎么建站站长之家官网入口
  • 网站地图页面模板查关键词排名软件
  • 迪奥官网网站做的好吗怎样注册自己的网站
  • 广州黄埔网站制作西安百度推广公司
  • 响水做网站2021百度新算法优化
  • 徐州做网站的av手机在线精品
  • 网站建设需要什么资质网页设计与制作项目教程
  • b2b电子商务网站的收益模式2021近期时事新闻热点事件
  • 做网站需要学java超级外链自动发布工具
  • 一个大学网站做的好坏于否的标准最新推广赚钱的app
  • 文化建设网站电脑培训班速成班
  • 商城网站建设 数商云搜狗站长推送工具
  • 泰安市建设信息网站武汉网站设计公司
  • 网站内容是什么百度推广落地页
  • 瑞金市网站建设宁波网站优化公司推荐
  • 网站开发的趋势信息流广告推广
  • 南通做网站南昌seo管理
  • 发外链的论坛网站公司网站
  • 个人网站建设大全谷歌浏览器 安卓下载
  • 沈阳网站建设哪家公司好seo网站推广推荐
  • 网站没有做实名认证网站怎么找
  • 新零售商业模式搜索引擎优化公司
  • 企业主体负责人和网站负责人seo外推软件
  • 化妆品网站建设的维护电商运营培训课程有哪些
  • 政府网站建设专业公司海南网站制作公司