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

网站系统与程序的链接企业网站建设

网站系统与程序的链接,企业网站建设,博客的网站页面设计,网站建设费会计账务处理一、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.yidumall.com/news/30434.html

相关文章:

  • 江苏省建设信息网站管理平台品牌营销策划怎么写
  • 重庆企业网站推广代理无锡seo网站排名
  • 可信网站必须做吗百度代理公司怎么样
  • 个性化网站建设郑州网站推广公司电话
  • 做网站制作要多少费用独立站seo推广
  • 西安注册公司在哪个网站系统自己动手建立个人网站
  • wordpress创建登录页面模板seo单页面优化
  • 做企业网站费用上海优质网站seo有哪些
  • axurerp如何做网站免费建网站哪家好
  • wordpress jquery报错杭州seo渠道排名
  • 招远网站建设企业推广网络营销外包服务
  • 番禺做网站哪家强百度百科官网
  • 2008 iis搭建网站媒体推广
  • 桂林市网站设计谷歌seo工具
  • 广阳区建设局网站群站优化之链轮模式
  • 网站设计例子乐云seo官网
  • 小说网站防盗做的好处关键词排名优化公司地址
  • 中国建设银行网站不好用软文代写文案
  • 自适应营销网站网络网站推广优化
  • 深圳网站建设好seo方法
  • 一个完整的樱花html代码优化关键词哪家好
  • 免费网站域名cn自己如何免费做网站
  • 网站开发项目组成员seo管理与优化期末试题
  • 不懂网站怎么做平台长沙seo培训
  • wordpress yusi1.0上海优化网站公司哪家好
  • 网站开发怎样验收外贸网站平台都有哪些
  • 沈阳网站疫情防控专栏总裁班课程培训
  • 龙岗网站建设培训房地产网站模板
  • 电商网站开发工具门户网站排行榜
  • 网站搭建需要服务器吗小时seo