`

基础构建模块(一)之并发容器

 
阅读更多

Java5.0中增加了ConcurrentHashMap用来替代同步且基于散列的Map,以及CopyOnWriteArrayList,用于在主要操作为遍历的情况下代替同步的List。在新的ConcurrentMap接口中增加了一些常用的复合操作支持,例如“如果没有则添加”,替换以及有条件删除等。

使用并发容器来代替同步容器,可以极大的提高系统伸缩性并降低风险。

 

Java5.0中增加了两种新的容器类型:Queue和BlockingQueue。Queue用来临时保存一组待处理的元素。

分享到:
评论
1 楼 eyeit2000 2013-05-24  
   

相关推荐

    《java并发编程实战》读书笔记-第5章-基础构建模块

    《java并发编程实战》读书笔记-第3章-对象的共享,脑图形式,使用xmind8制作 包括同步容器类、并发容器类、阻塞队列和生产者消费者模式、阻塞和中断方法、同步工具类。最后是构建高效且可伸缩的结果缓存

    loveincode#notes#第5章 基础构建模块1

    5.1 同步容器类 5.2 并发容器 5.3 阻塞队列 和 生产者-消费者模式 5.4 阻塞方法与中断方法 5.5 同步工具类 5.6 构建高效且可伸缩的结果缓

    Java并发编程实战

    第5章 基础构建模块 5.1 同步容器类 5.1.1 同步容器类的问题 5.1.2 迭代器与Concurrent-ModificationException 5.1.3 隐藏迭代器 5.2 并发容器 5.2.1 ConcurrentHashMap 5.2.2 额外的原子Map操作 5.2.3 ...

    Java 并发编程实战

    第5章 基础构建模块 5.1 同步容器类 5.1.1 同步容器类的问题 5.1.2 迭代器与Concurrent-ModificationException 5.1.3 隐藏迭代器 5.2 并发容器 5.2.1 ConcurrentHashMap 5.2.2 额外的原子Map操作 5.2.3 ...

    Java并发编程(学习笔记).xmind

    基础构建模块 同步容器类 分类 Vector Hashtable 实现线程安全的方式 将状态封装起来,对每个公有方法都进行同步 存在的问题 复合操作 修正方式 客户端加锁 ...

    [完结13章+电子书]Go微服务精讲:Go-Zero全流程实战即时通讯

    本文,作者将结合经典 IM 项目,带你深入微服务架构精髓,探究主流微服务框架Go-Zero框架底层运作机制和框架自研之道,让你从分布式系统架构设计、容器化部署管理、高并发性能提升、系统监控等,多维度掌握Go开发...

    Notes:This is a learning note | Java基础,JVM,源码,大数据,面经

    基础构建模块 JavaGC监控与优化 垃圾回收机制 垃圾回收机制的监控 优化垃圾回收机制 Apache的MaxClients参数详解及其在Tomcat执行FullGC时的影响 JavaEE 浅析Web容器 计算机网络 UDP&TCP DB MySQL索引背后的数据结构

    java8源码-baijia123:常用工具类及测试类

    第5章:基础构建模块 对应类包com.baijia123.concurrent TestHarnes->在计时测试中使用CountDownLatch(闭锁)来启动和停止线程 Preloader->使用FutureTask来提前加载稍后需要的数据 BoundedHashSet->使用Semaphore...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    ogg:Ogg媒体容器的参考实现

    其他模块(例如,模块libvorbis,用于Vorbis音乐编解码器的vorbis-tools,用于Theora视频编解码器的libtheora)包含与Ogg比特流一起使用的编解码器库。 目录: src libogg的来源,公共领域Ogg比特流格式的BSD许可...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    asp.net知识库

    Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制,自己的网站使劲弹新IE窗口 对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的...

    python cookbook(第3版)

    10.1 构建一个模块的层级包 10.2 控制模块被全部导入的内容 10.3 使用相对路径名导入包中子模块 10.4 将模块分割成多个文件 10.5 利用命名空间导入目录分散的代码 10.6 重新加载模块 10.7 运行目录或压缩文件...

    Scala程序设计(第2版)

    23.3 Trait即模块 441 23.4 设计模式 442 23.4.1 构造型模式 443 23.4.2 结构型模式 443 23.4.3 行为型模式 444 23.5 契约式设计带来更好的设计 446 23.6 帕特农神庙架构 448 23.7 本章回顾与...

    go web编程

    1.1.2 Go与模块化Web应用 4 1.1.3 Go与可维护的Web应用 5 1.1.4 Go与高性能Web应用 5 1.2 Web应用的工作原理 6 1.3 HTTP简介 7 1.4 Web应用的诞生 8 1.5 HTTP请求 9 1.5.1 请求方法 10 ...

    Learning-Vertx

    由于Vert.x专为异步通信而设计,因此与Java servlet或java.net套接字类之类的同步API相比,它可以用更少的线程处理更多的并发网络连接。 什么是顶点: Vert.x中的部署单元称为Verticle。 顶点是一个独立的工作单元...

    JAVA_API1.6文档(中文)

    java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...

    C++网络爬虫项目

    互独立的模块组成,各个模块只负责搜索引擎的一部分功能,相互配合组成完 整的搜索引擎: 搜索引擎的信息源来自于互联网网页,通过“网络爬虫” 将整个“互联网” 的 信息获取到本地,因为互联网页面中有相当大比例...

Global site tag (gtag.js) - Google Analytics