当前位置: 首页 > 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.yayakq.cn/news/382911/

相关文章:

  • 做样子的网站网络运维工程师简历怎么写
  • 文成网站wordpress后台添加logo
  • 网站建设采购公告产品设计公司怎么接单
  • 正能量软件不良网站直播关于设计网站
  • 建设总承包网站免费网站制作作业
  • 简述网站的制作流程如果做网站赚钱
  • 黄山建设网站黄冈seo推广软件的更新版本
  • 做受网站网站开发信息
  • 网站建设推广熊掌号数据中台主要实现哪些功能
  • 怎么生成网站源代码奥迪网站建设策划书
  • 做公司企业网站网络营销手段
  • 网站图片验证码出不来看看铜陵新闻
  • 潜江资讯网电脑版seo公司资源
  • 泉州关键词网站排名上鼎工程建设有限公司网站
  • 做venn的网站做网站北京
  • 建设监理网站dedecms做视频网站
  • 室内在线设计网站深圳网站建设哪个
  • 中国免费网站服务器主机域名app开发流程设计工具
  • 网站接入服务提供商全新网站开发
  • 合肥网站策划电子科技企业网站建设
  • 桂林出网站南京百度seo
  • 网站提升权重上海网站建设网络公司
  • 做国外搞笑网站网页制作流程不包括
  • 如何制作纯静态网站目前最好用的云电脑排行
  • 怎么做整人点不完的网站新手做网站选材
  • 常见的网站布局结构注册网站页面跳转错误
  • 社交网站 模板重庆市建设工程信息网络
  • 有没有什么做水利资料的网站gooood谷德设计网官网
  • 三亚做网站推广舟山公司网站制作
  • 网站域名名字wordpress怎么管理首页侧边栏