- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 RMI
RMI一、RMI简介RMI——Remote Method Invocation,即远程方法调用。是Java的一组拥护开发分布式应用程序的API。。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。RMI主要用到了代理模式和序列化/反序列化。二、RMI原理一个RMI系
2013-10-31 17:42:22 797
原创 观察者模式
观察者模式简介:出版者+订阅者=观察者模式 Subject 主题接口,也即可观察者(Observable),对象使用此接口注册为观察者,或者把自己从观察着中删除。每个主题可以有多个观察者。 ConcreteSubject 一个具体主题实现了主题接口,除了注册和撤销之外,具体主题还实现了notifyObservers()方法,这个方法用来在主题状态改变时更行
2013-10-31 17:40:36 567
原创 观察者模式
观察者模式简介:出版者+订阅者=观察者模式 Subject 主题接口,也即可观察者(Observable),对象使用此接口注册为观察者,或者把自己从观察着中删除。每个主题可以有多个观察者。 ConcreteSubject 一个具体主题实现了主题接口,除了注册和撤销之外,具体主题还实现了notifyObservers()方法,这个方法用来在主题状态改变时更行
2013-10-31 17:29:24 635
原创 代理模式
代理模式定义:代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问,用一个对象代替本尊对象。思想:代理模式主要用于控制访问权限。动机:有时候一个对象会很大,而大部分情况用户调用此对象不需要对此对象进行完整的实例化,可能仅仅需要一小部分功能。用代理可以减少系统资源的浪费,快速地给用户相应,而不必加载无用的东西。有时候对象的一部分属性或行为不能给某些用户访
2013-10-31 17:25:43 589
原创 线程池原理
线程池执行过程一、线程池的执行过程定义一个目标任务类,一般是一个线程public class Task implements Runnable { int k; public Task(int k) { this.k = k; } public void run() { for (i
2013-10-31 17:02:15 790
原创 简单线程池-实例
简单线程池-实例Task: 目标任务接口类,代表我们要执行的任务。TaskQueue:任务队列,可以用Queue的随便一个子集。WorkThread:工作线程,线程池的工作线程,用于去任务队列里取任务调度执行。ThreadPoolService:线程池服务类,用于构造线程池,开始,关闭线程池等。SimpleTest:具体任务类,继承TaskTask:
2013-10-31 17:00:07 1007
原创 多线程总览
线程安全的实现方式线程安全的实现方式 1一、 什么叫线程安全 1二、 实现线程安全的方法 22.1互斥同步(阻塞,悲观) 22.2非阻塞同步(乐观) 22.3无同步方案 3一、什么叫线程安全定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正
2013-10-31 16:09:21 801
原创 ConcurrentLinkedQueue
ConcurrentLinkedQueue1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下Doug Lea是如何使用非
2013-10-31 16:01:07 646
原创 BlockingQueue
BlockingQueue一、阻塞队列基本方法介绍谈到线程池,不得不谈到生产者-消费者模式,谈到生产者-消费者,就不得不谈到对应的数据结构,谈到对应的数据结构不得不言BlockingQueue。顾名思义,BlockingQueue翻译为阻塞队列。队列无非两种操作:入队和出队。而针对于入队出队的边界值的不同,分为几个方法:抛出异常特殊值
2013-10-31 15:58:07 4777
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人