多线程
文章平均质量分 81
努力小白ing
拼搏成就梦想,奋斗成就辉煌
展开
-
JDK并发容器初步认识
JDK为我们提供了很好的线程安全的容器,包括以下几种: ConcurrentHashMap:是一个高效并发的HashMap。可以理解为一个线程安全的HashMap. CopyOnWriteArrayList:是一个并发的list,在读多写少的场合下,性能远远好于Vector. ConcurrentLinkedQueue:高效的并发队列,使用链表实现,可以看做一个线程安全的LinkedList。原创 2017-02-28 22:22:39 · 258 阅读 · 0 评论 -
java并发编程入门:synchronized 与 Lock 的那点事
此篇转载文章只说明了synchronized和Lock的应用,具体两者之间的区别,IBM这篇文章不错http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.htmlsynchronized和Lock应用举例转自:http://www.cnblogs.com/benshan/p/3551987.html最近在做一个监控系统,该系统主要包括对转载 2017-02-20 13:37:07 · 191 阅读 · 0 评论 -
Java内存模型
1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性 由于计算机转载 2017-02-20 17:03:08 · 214 阅读 · 0 评论 -
Java线程安全初步了解
1.线程安全的定义 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。这个定义很严谨,它要求就线程安全的代码都具备一个特征:代码本身封装了所有必要的正确性保障手段,令调用者无须关心多线程的问题,更无须自己实现热河措施来保证多线程的原创 2017-02-21 22:02:16 · 186 阅读 · 0 评论 -
JAVA内存区域
1. Java内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,分别是:方法区,虚拟机栈,本地方法栈,堆,程序计数器。 **程序计数器:**是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖计原创 2017-02-23 16:26:39 · 251 阅读 · 0 评论 -
Java垃圾回收机制初步了解
1.判断对象是否已死 1.1引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;每当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用。 1.2根搜索算法 基本思路:通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜原创 2017-02-23 18:04:36 · 279 阅读 · 0 评论 -
类加载机制初步认识
1.类加载顺序 类从被加载到虚拟机内存中开始,到卸载出内存为止。整个生命周期包括了:加载,验证,准备,解析,初始化,使用和卸载。其中验证,准备和解析三个部分统称为连接。加载,验证,准备,初始化和卸载的顺序是确定的,而解析阶段则不一定:它在某些情况可以在初始化后阶段之后在开始,这是为了支持Java语言的运行时绑定。 2.类加载的过程 2.1 加载阶段 在原创 2017-03-02 20:14:43 · 233 阅读 · 0 评论 -
线程池初步认识
1.什么是线程池 为了避免系统频繁地创建和销毁线程,消耗系统资源,我们可以让创建的线程进行复用。就如同数据库的连接池一样,当系统需要用到数据库时,并不是创建一个新的连接,而是从连接池中获取一个连接。线程也类似,当需要用到线程时就可以去池子中拿一个空闲线程,用完之后就“还”给线程池,通过这种方式可以节约不少创建和销毁线程的时间。 2.JDK对线程池的支持 Executor结构图:原创 2017-02-26 13:55:16 · 255 阅读 · 0 评论