摘要: 1 Java中的集合 Java中的集合分为同步的集合(线程安全)和线程不安全的集合 例如 : ArrayList和Vector的区别: 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector默认增长为原来一倍 阅读全文
posted @ 2015-08-27 16:53 yweihainan 阅读(1955) 评论(0) 推荐(0) 编辑
摘要: 1 对象增强的手段 * 继承 被增强的对象固定的 增强的内容也是固定的 使用继承会使类增多 * 动态代理(AOP) 被增强的对象可以切换 增强的内容也可以切换:事务处理 日志 ... ... 参看:Java 动态代理 * 装饰者模式 被增强的对象是可以切换的 增强的内容是固定的 2 Decorato 阅读全文
posted @ 2015-08-27 16:38 yweihainan 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 一 从单例模式说起 在singleton 单例模式一文中我们详细了解Java中单例模式的实现,不了解的可以先阅读之。 在该文最后我们给出了双重校验锁来保证既实现线程安全,又能够使性能不受很大的影响的单例模式 代码如下: “双重检查加锁”机制的实现会使用关键字volatile, 它的意思是:被vola 阅读全文
posted @ 2015-08-27 15:08 yweihainan 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 1.可重入锁 如果锁具备可重入性,则称作为可重入锁。 像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制: 基于线程的分配,而不是基于方法调用的分配。 举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1, 阅读全文
posted @ 2015-08-27 11:30 yweihainan 阅读(3157) 评论(0) 推荐(0) 编辑
摘要: 一.synchronized的再次讨论 使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时, 这个线程便获得了该对象的锁,其他线程暂时无法访问这个方法,只有等待这个方法执行完毕或者代码块执行完毕,这个 阅读全文
posted @ 2015-08-27 11:19 yweihainan 阅读(378) 评论(0) 推荐(1) 编辑
摘要: 转载自: Java并发编程:synchronized http://www.cnblogs.com/dolphin0520/p/3923737.html 前文中也有相关的详细描述:02 如何创建线程 线程并发与synchornized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两 阅读全文
posted @ 2015-08-27 10:48 yweihainan 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1 .Thread中重要的属性 2 构造方法 在Thread重载了很多构造方法 我们挑选几个常用的进行列举 可以看出Thread的构造方法最终都会调用init方法 3 线程的状态 线程有四种状态 1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。 2. 可执行状态:线程可以执行,虽 阅读全文
posted @ 2015-08-27 10:28 yweihainan 阅读(584) 评论(0) 推荐(0) 编辑