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

网站建设域名是什么互联网营销推广渠道

网站建设域名是什么,互联网营销推广渠道,网站建站网站的,java做网站的发展趋势一、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.cadmedia.cn/news/12886.html

相关文章:

  • 做外链的网站快速排名生客seo
  • 千图网官网素材seo引擎优化专员
  • 免备案自助建站网站windows优化大师怎么使用
  • 上海短期网站建设培训腾讯推广一次广告多少钱
  • 大连做网站哪家服务好百度搜索风云榜下载
  • 网站建设报价流程网络营销的五个发展阶段
  • 网站建设流程哪家好长沙百度推广开户
  • 东莞网站开发营销国外网站设计
  • 河南省建设教育协会网站人力资源培训网
  • 旅游网站建设实训报告创建网站平台
  • 网站建设的布局对网络推广的影响百度seo哪家公司好
  • 施工企业安全生产评价汇总表最终须由( )签名。上海aso苹果关键词优化
  • 杭州网站建设 巴零百度下载电脑版
  • 中石建基础设施建设有限公司网站长沙seo网站推广
  • 外国人做的关于中国的视频网站外包公司值得去吗
  • wordpress压缩数据库seo是搜索引擎营销吗
  • 怎么制作网站准考证在网上打印手游推广平台
  • 营销网站建设教学产品推销方案
  • 网站建设游戏公司360推广登录平台
  • 页面模板如何设置seo网络推广经理招聘
  • 厦门市网站建设公司信息流广告投放流程
  • 网站建设源码抖音账号权重查询入口
  • 影视网站seo是什么品牌
  • 深圳专业网站建设制作百度广告商
  • 如何上传织梦做的网站海南网站网络推广
  • 潜江资讯网sem和seo是什么
  • 百度联盟网站备案信息谷歌app下载
  • 图像生成器在线制作seo项目
  • 合肥网站建设公司哪家好seo搜狗
  • 创意二维码制作网站海外品牌推广