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

微信小程序怎么做网页seo排名赚挂机赚钱软件下载

微信小程序怎么做网页,seo排名赚挂机赚钱软件下载,网站建设分期收费,黄页88网免费发布信息一、Vector和ArrayList、LinkedList联系和区别,分别的使用场景 ArrayList:底层是数组实现,线程不安全,查询和修改非常快,但是增加和删除慢 LinkedList: 底层是双向链表,线程不安全,查询和修改…

一、Vector和ArrayList、LinkedList联系和区别,分别的使用场景

ArrayList:底层是数组实现,线程不安全,查询和修改非常快,但是增加和删除慢

LinkedList: 底层是双向链表,线程不安全,查询和修改速度慢,但是增加和删除速度快

Vector: 底层是数组实现,线程安全的,操作的时候使用synchronized进行加锁

使用场景:

  • Vector已经很少用了
  • 增加和删除场景多则用LinkedList
  • 查询和修改多则用ArrayList

二、如果需要保证线程安全,ArrayList应该怎么做,有几种方式

方式一:使用Collections.synchronizedList(synchronized加锁)

List<String> synchronizedList = Collections.synchronizedList(new ArrayList<>());

方式二:使用 CopyOnWriteArrayList(ReentrantLock加锁)

List<String> cowList = new CopyOnWriteArrayList<>();

三、CopyOnWriteArrayList和 Collections.synchronizedList实现线程安全的区别以及它们的使用场景

CopyOnWriteArrayList:执行修改操作时,会拷贝一份新的数组进行操作(add、set、remove等),在执行完修改后将原来集合指向新的集合来完成修改操作,源码里面用ReentrantLock可重入锁来保证不会有多个线程同时拷贝一份数组

使用场景:读高性能,适用读操作,读操作远远大于写操作的场景中使用(因为读的时候是不需要加锁的,直接获取,删除和增加是需要加锁的, 读多写少)

Collections.synchronizedList:线程安全的原因是因为它几乎在每个方法中都使用了synchronized同步锁

使用场景:读操作性能并不如CopyOnWriteArrayList(因为读操作的时候有加锁)

四、CopyOnWriteArrayList的设计思想以及它有什么缺点

设计思想:读写分离+最终一致,读的时候是读旧的数组

缺点:内存占用问题,写时复制机制,内存里会同时驻扎两个对象的内存,旧的对象和新写入的对象,如果对象大则容易发生Yong GC和Full GC

http://www.shuangfujiaoyu.com/news/103.html

相关文章:

  • wordpress 海报风格网站如何优化排名软件
  • 建设网站英语产品怎么在网上推广
  • 网站备案下来以后怎么做网页网络销售怎么干
  • 用织梦做网站都需要用什么外贸网站优化推广
  • 做网站架构图搜外滴滴友链
  • 自助网站建设哪里可以郑州seo顾问培训
  • 北京交通管制信息网站百度云网盘下载
  • 广州必去的景点排名seo范畴有哪些
  • 做电商有哪些平台百度seo收录
  • 专业独立门户网站建设app营销十大成功案例
  • 做网站的需求清单廊坊优化技巧
  • 网站开发网站制作找个免费网站这么难吗
  • 上海网站制作官网人民网 疫情
  • 网站模板下载网站有哪些云搜索引擎入口
  • 白山建设局网站西安网站seo技术厂家
  • 在线做java题目的网站一个关键词要刷多久
  • 中小企业网站建设费用青岛模板建站
  • asp做的药店网站模板最好的网络营销软件
  • 网站建设的文案个人代运营一般怎么收费
  • 哪个网站看电影做便宜网络服务商主要包括哪些
  • 我要学做网站惠州seo排名公司
  • wordpress 2.0 下载地址如何优化
  • 鹤壁市淇县网站建设厦门seo搜索引擎优化
  • 做的好的网站开发长沙网站开发制作
  • 网站建设先学什么软文代写发布
  • scratch网站开发手机百度网页版入口
  • 高端网站建设 房产软文发布平台哪个好
  • 做淘宝客网站用什么系统东莞seo网站优化排名
  • 域名购买 网站建设百度视频排名优化
  • 网站建设中 html模板陕西网站建设网络公司