重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.ConcurrentModificationException
出现这种的原因是遍历(iterator或增强循环)同步类容器时,同时对容器内的元素进行修改造成的,可以用普通for循环解决。因为普通for循环是一个线程操作。
2.普通容器想变成线程安全的容器,那么用Collections.synchronizedCollection方法就可以实现.
3.concurrentHashMap分为16个segment片,计算size用的volitile修饰,而取值 ,和赋值是,在每一个segment内加入锁,在segment之间不加锁。
4.copyonwrite,每次进行写操作的时候,都要在原线程的数据中复制一次。操作完成之后,都会把新修改的数据再赋值回去,不适合做list元素比较多的场景。同时修改时,有锁。
5.各种队列,阻塞队列,非阻塞队列和×××队列,有界队列。×××队列,add和offer是一样的作用。阻塞队列,add添加不进去报异常,offer添加不进去返回false,或者可以设定等待时间。put方法就阻塞再那里。poll方法从对手有值则返回,物质则返回失败。take方法,无值时,阻塞再那里直到有值。drainTo,提升效率的一次性获取多个元素。
6.concurrentLinkQueue基于无阻塞×××队列 ,poll,取值移除,peek,取值不移除。
7.ArrayBlockingQueue基于阻塞有界队列。
8.linkedblockingqueue阻塞×××队列。
9.SynchronousQueue不能城防任何元素的阻塞队列。
10.ProrityBlockingQueue,添加的时候有一个二分算法,取值的时候,有一个比较算法,取出优先级最高的。
11.DelayQueue有getDelay方法和compareTo方法,用于延迟时间的设定和元素之间的比较排序
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。