摘要: Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。我们在浏览BBS、SNS网站的时候,常常会看到“当前在线人数”这样的一项内容。对于这样的一项功能,我们通常的做法是把当前的在线人数存放到一 个内存、文件或者数据库中,每次用户登录的时候,就会马上从内存、文件或者数据库中取出,在其基础上加1后,作为当前的在线人数进行显示,然后再把它保存 回内存、文件或者数据库里,这样后续登录的用户看到的就是更新后的当前在线人数 阅读全文
posted @ 2011-09-24 22:07 www_ding@163.com 阅读(705) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ConditionCommunication { /** * 这一个示例的学习应该和传统的线程通信相互对比,Condition的通信优点查看文档 */ public static void main(String[] args) { final Bussiness bu... 阅读全文
posted @ 2011-09-24 10:38 www_ding@163.com 阅读(186) 评论(0) 推荐(0) 编辑
摘要: import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class CacheDemo { /** * 缓存:就是一个对象把数据(从数据库或是文件...)拿到,等待另外的对象来取数据 * 如果存在就直接取走,不存在则查询数据库或文件... * */ private static Map... 阅读全文
posted @ 2011-09-24 10:37 www_ding@163.com 阅读(241) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorCompletionService;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import jav 阅读全文
posted @ 2011-09-24 10:35 www_ding@163.com 阅读(285) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ThreadReadWriteLock { /** * 读写锁 * 读得时候还能读 * 读的时候不能写 * 写的时候不能读 * 写的时候不能写 */ publi... 阅读全文
posted @ 2011-09-24 10:34 www_ding@163.com 阅读(528) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ThreadLock { /** * java中的锁类是于synchronized * Lock是比传统线程模型中的synchronized 的方式更加面向对象,与生活中的锁类似 * 锁本身也是一个对象。两个线程执行的飞、代码片段要实现同步互斥的效果 * 他们必须是同一个对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中 */ p... 阅读全文
posted @ 2011-09-24 10:32 www_ding@163.com 阅读(203) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;public class TraditionalThreadPlool { /** * 线程池 */ public static void main(String[] args) { ////创建了有3条线程的线程池// ExecutorService threadPool = Executors.new... 阅读全文
posted @ 2011-09-24 10:30 www_ding@163.com 阅读(725) 评论(0) 推荐(0) 编辑