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

网站制作算是什么专业苏州网络营销推广软件运营

网站制作算是什么专业,苏州网络营销推广软件运营,焦作网站建设,备案期间网站怎么关闭一. JUC包下的并发容器 Java的集合容器框架中#xff0c;主要有四大类别#xff1a;List、Set、Queue、Map#xff0c;大家熟知的这些集合类ArrayList、LinkedList、HashMap这些容器都是非线程安全的。 所以#xff0c;Java先提供了同步容器供用户使用。 同步容器可以简单地… 一. JUC包下的并发容器 Java的集合容器框架中主要有四大类别List、Set、Queue、Map大家熟知的这些集合类ArrayList、LinkedList、HashMap这些容器都是非线程安全的。 所以Java先提供了同步容器供用户使用。 同步容器可以简单地理解为通过synchronized来实现同步的容器 比如Vector、Hashtable以及SynchronizedList等容器。这样做的代价是削弱了并发性当多个线程共同竞争容器级的锁时吞吐量就会降低。         因此为了解决同步容器的性能问题所以才有了并发容器。 java.util.concurrent 包中提供了多种并发类容器 1.1 CopyOnWriteArrayList         1.1.1 引入         当我们遍历数组时加入这时候有另一个线程也在往里添加数据的话会报错如图 所以当我们使用  CopyOnWriteArrayList 时就可以解决 package com.laoyang.Thread.JUC包下的并发容器;import java.util.ArrayList; import java.util.concurrent.CopyOnWriteArrayList;/*** author:Kevin* create: 2023-10-19 16:47* Description: 对应ArrayList*/public class CopyOnWriteArrayListDemo {public static void main(String[] args) {CopyOnWriteArrayList arrayList new CopyOnWriteArrayList();// ArrayList arrayList new ArrayList();arrayList.add(小杨);arrayList.add(小凯);arrayList.add(小文);new Thread(() - {arrayList.add(test);}).start();for (Object o : arrayList) {System.out.println(o.toString());}} }概念         CopyOnWriteArrayList 是 Java 中的一种线程安全的 List它是一个可变的数组支持并发读和写。与普通的 ArrayList 不同它的读取操作不需要加锁因此具有很高的并发性能。         1.1.2 场景         CopyOnWriteArrayList 的应用场景主要有两个方面         1. 读多写少的场景         由于 CopyOnWriteArrayList 的读操作不需要加锁因此它非常 适合在读多写少的场景中使用 。例如一个读取频率比写入频率高得多的缓存使用 CopyOnWriteArrayList 可以提高读取性能并减少锁竞争的开销。         2. 不需要实时更新的数据         由于 CopyOnWriteArrayList 读取的数据可能不是最新的因此它适合于不需要实时更新的数据。例如在日志应用中为了保证应用的性能日志记录的操作可能被缓冲并不是实时写入文件系统而是在某个时刻批量写入。这种情况下使用 CopyOnWriteArrayList 可以避免多个线程之间的竞争提高应用的性能。         1.1.3 黑名单实战 package com.laoyang.Thread.JUC包下的并发容器;import java.util.Random; import java.util.concurrent.CopyOnWriteArrayList;/*** author:Kevin* create: 2023-10-19 19:35* Description: 黑名单实战*/public class IpDemo {private static final CopyOnWriteArrayList list new CopyOnWriteArrayList();//添加默认黑名单static {list.add(Ip0);list.add(Ip1);list.add(Ip2);}public static void main(String[] args) {Runnable runnable new Runnable() {Overridepublic void run() {//模拟接入try {Thread.sleep(new Random().nextInt(5000));}catch (Exception e){}String currentIP Ip new Random().nextInt(3);if (list.contains(currentIP)){System.out.println(Thread.currentThread().getName() IP currentIP 命中黑名单拒绝接入处理);return;}System.out.println(Thread.currentThread().getName() IP currentIP 接入处理...);}};new Thread(runnable, thread1).start();new Thread(runnable, thread2).start();new Thread(runnable, thread3).start();new Thread(new Runnable() {Overridepublic void run() {try {Thread.sleep(new Random().nextInt(2000));}catch (Exception e){}String ip Ip3;list.add(ip);System.out.println(Thread.currentThread().getName() 添加了新的非法 ip newBlackIP);}}).start();} }1.1.4 CopyOnWriteArrayList原理         CopyOnWriteArrayList 内部使用了一种称为“写时复制”的机制。当需要进行写操作时它会创建一个新的数组并将原始数组的内容复制到新数组中然后进行写操作。因此读操作不会被写操作阻塞读操作返回的结果可能不是最新的但是对于许多应用场景来说这是可以接受的。此外由于读操作不需要加锁因此它可以支持更高的并发度。         1.1.5 CopyOnWriteArrayList 的缺陷         由于写操作的时候需要拷贝数组会消耗内存如果原数组的内容比较多的情况下可能导致 young gc 或者 full gc         不能用于实时读的场景像拷贝数组、新增元素都需要时间所以调用一个 set 操作后读取到数据可能还是旧的虽然 CopyOnWriteArrayList 能做到最终一致性但是还是没法满足实时性要求         CopyOnWriteArrayList 合适读多写少的场景 不过这类慎用。因为谁也没法保证CopyOnWriteArrayList 到底要放置多少数据万一数据稍微有点多每次 add/set 都要重新复制数组这个代价实在太高昂了。在高性能的互联网应用中这种操作分分钟引起故障。
http://wiki.neutronadmin.com/news/226656/

相关文章:

  • 室内设计网站资源视觉设计公司
  • 宿迁沭阳网站建设上海seo服务
  • 泉州市网站制作企业wordpress中英双语选择
  • 小米路由 做网站注册物业公司需要什么手续和条件
  • 网站模板 jsp代做seo关键词排名
  • 威海城乡建设局网站首页wordpress 首页导航
  • wordpress 站内资讯汕头网站模板
  • 手机如何免费做网站房地产管理局网站
  • 威海市建设局网站网站规划的基本步骤
  • 织梦网站头部兼职网网站建设方案建议书
  • 湖北专业网站建设产品介绍网站数据库连接不上的常见问题
  • vue2.0网站开发公司招聘网站排行榜
  • 汉中专业网站建设服务网站设置成灰色
  • 中国铁路保险网站网站建设和关键词优化技巧
  • 中国林业工程建设协会官方网站暴雪公司
  • 网站建设方案 预算成都人社app
  • 网站主机名是什么衣服定制app
  • 百度怎么把自己网站展现在百度链接
  • 义乌网站设计制作价格浏览器为什么无法打开网页
  • 个人网站允许做内部论坛吗网站安全建设目标
  • 潮州seo网站推广国外php网站源码
  • 网站建设 兼职 外包企业站seo
  • 哪个旅游网站做的最好做钢材的都用什么网站
  • 温州网站制作案例网站怎么做才 吸引人
  • 廊坊网站制作推广江西火电建设公司网站
  • 优惠券网站要怎么做推广百度推广官方
  • 做加盟的网站建设公司建设网站的目的
  • 太原做网站费用上海外贸网站推广哪家好
  • 模板网站自助建站泰州网站建设工作
  • 做毕设的网站万做网站选什么配置电脑