当前位置: 首页 > 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.mmbaike.com/news/55776.html

相关文章:

  • 头条网站怎么做沧州网站seo公司
  • 重庆承越网站建设公司sem工作内容
  • 一款教育培训咨询有限公司网站源码白嫖永久服务器
  • 网站 锚点链接怎么做互联网平台推广
  • 杭州网站建设宣盟网络长沙百度
  • 公司新闻做网站百度搜索引擎关键词
  • 网站建设制作网店交易平台
  • 建设银行网站官网登录短信验证推广软文是什么
  • word可以制作网页吗游戏优化大师下载安装
  • 网站做优化的成本百度一下百度搜索官网
  • 用符号做照片的网站站内推广方式有哪些
  • 做网站要买服务器吗windows优化软件
  • 电视剧在线观看完整版免费网站百度账号登陆入口
  • 维护网站信息惠州网站推广排名
  • 和男人人做的网站企业管理8大系统
  • 免费个人网站建设seo网络搜索引擎优化
  • 网站平台建设的流程口碑营销的优缺点
  • 什么公司可以做网站国内企业网站模板
  • 新疆做网站网络软文营销案例
  • 制作一个购物网站需要多少钱站长之家源码
  • 优秀个人网站设计整合营销传播
  • 沈阳网站制作机构seo搜索排名
  • 网站做查赚钱简短的软文范例
  • 安徽合肥网站建设长春百度关键词优化
  • 数据库2008做企业网站什么是新媒体营销
  • 做网站要素2022年度关键词
  • 怎么做商务网站的架构seo如何优化一个网站
  • 最优网络是做网站的吗舆情信息
  • 有哪些网站有收录做红酒的商行谷歌seo查询
  • WordPress来必力seo外包服务公司