随笔分类 -  java分布式技术

讲解java的锁,同步,并发,线程,socket,io相关知识。
ThreadLocal分析
摘要:我们再介绍一个在多线程环境中经常使用的类ThreadLocal,它是java为解决多线程程序的并发问题提供了一种新的方向,使用这个ThreadLocal类可以帮助开发者很简单地编写出简洁的程序,并且是线程安全的。ThreadLocal很容易让人误解,认为是一个“本地线程”,其实ThreadLocal... 阅读全文

posted @ 2014-05-15 14:03 cloudkiller 阅读(944) 评论(0) 推荐(0)

BlockingQueue(阻塞队列)分析
摘要:如果读者还有一点印象,我们在实现线程池时,用了队列这种数据结构来存储接收到的任务,在多线程环境中阻塞队列是一种非常有用的队列,在介绍BlockingQueue之前,我们先解释一下Queue接口。Queue接口 boolean offer(E e); 将指定的元素插入此队列,当使用有容量限制的队列时,... 阅读全文

posted @ 2014-05-14 10:30 cloudkiller 阅读(3915) 评论(0) 推荐(0)

CopyOnWriteArrayList分析
摘要:ArrayList是比较常用的一个可变大小的数组集合,但是是不能同步的。如果多个线程同时访问一个ArrayList实例,其中至少一个线程从结构上修改了列表,那么它必须保持外部同步。一般通过加锁对象进行同步操作来完成,如果不存在这样的对象,则应该使用 Collections.synchronizedL... 阅读全文

posted @ 2014-05-14 10:14 cloudkiller 阅读(2481) 评论(0) 推荐(0)

java锁和同步
摘要:Java 语言设计中的一大创新就是:第一个把跨平台线程模型和锁模型应用到语言中去,Java 语言包括了跨线程的关键字synchronized和volatile,使用关键字和java类库就能够简单的实现线程间的同步。在简化与平台无关的并发程序开发时,它没有使并发程序的编写工作变得繁琐,反而使它变得更容... 阅读全文

posted @ 2014-05-13 21:02 cloudkiller 阅读(3025) 评论(0) 推荐(0)

线程池原理
摘要:在面向对象编程中,对象创建和销毁是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是对一些很耗资源的对象创建和销毁。如何利用已有对象来... 阅读全文

posted @ 2014-05-13 17:47 cloudkiller 阅读(35699) 评论(1) 推荐(2)

导航