`
文章列表
死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。     导致死锁的根源在于不适当地运用“synchronized”关键词来管理线 ...
Java 信号量 Semaphore 介绍 Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中 的任何一个人让开后,其中等待的另 ...
  分类: java_数据结构 java_线程2012-07-05 13:59 313人阅读 评论(0) 收藏 举报
  分类: java_线程2012-07-03 19:25 53人阅读 评论(0) 收藏 举报
  java线程:互斥锁与读写锁 分类: java_线程2012-07-04 02:52 67人阅读 评论(0) 收藏 举报 两种互斥锁机制: 1、synchronized 2、ReentrantLock
java线程:三种方式实现生产者消费者问题_3 分类: java_线程2012-07-03 15:02 36人阅读 评论(0) 收藏 举报 实现生产者——消费者问题的第三种方式:使用java5提供的java.util.concurrent.BlockingQueue阻塞队ˆ
  java线程:几个实用的线程工具类 分类: java_线程2012-07-04 16:29 89人阅读 评论(0) 收藏 举报 CyclicBarrier
  java线程:三种方式实现生产者消费者问题_2 分类: java_线程2012-07-03 14:31 37人阅读 评论(0) 收藏 举报 上一种方式是采用synchronized关键字实现生产者消费者的问题,那是传统的做法,现在采用jdk
java线程:三种方式实现生产者消费者问题_1 分类: java_线程2012-07-03 13:51 45人阅读 评论(0) 收藏 举报

命令模式

1.概念 其实命令模式像很多设计模式一样——通过在你的请求和处理之间加上了一个中间人的角色,来达到分离耦合的目的。通过对中间人角色的特殊设计来形成不同的模式。当然命令模式就是一种特殊设计的结果。看下命令模式是有哪些角色来组成的吧。             1)        命令角色(Command):声明执行操作的接口。有java接口或者抽象类来实现。2)        具体命令角色(Concrete Command):将一个接收者对象绑定于一个动作;调用接收者相应的操作,以实现命令角色声明的执行操作的接口。3)        客户角色(Client):创建一个具体命令对象(并可以设定它 ...
Oracle数据库Decode()函数的使用方法 语法如下:   DECODE(control_value,value1,result1[,value2,result2…][,default_result]);   control _value   试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。   示例如下:   select decode( x , 1 , ‘x is 1 ’, 2 , ‘x is 2 ’, ‘others’) from dual   当x等于1时,则返回‘x is 1’。   当x等于2时,则返回‘x is 2’。   否则,返 ...
其实命令模式像很多设计模式一样——通过在你的请求和处理之间加上了一个中间人的角色,来达到分离耦合的目的。通过对中间人角色的特殊设计来形成不同的模式。当然命令模式就是一种特殊设计的结果。  看下命令模式是有哪些角色来组成的吧。              1)        命令角色(Command):声明执行操作的接口。有java接口或者抽象类来实现。 2)        具体命令角色(Concrete Command):将一个接收者对象绑定于一个动作;调用接收者相应的操作,以实现命令角色声明的执行操作的接口。 3)        客户角色(Client):创建一个具体命令对 ...

职责链模式

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 图如下: UML很简单,让我们先来看一个简单的例子。 四. 职责链模式应用之请假管理 请假这个事情,相信每个人都不陌生。 我们公司是个相对很宽松的公司。 在公司里,如果你的请假时间小于0.5天,那么只需要向项目经理打声招呼就OK了。 如果超过了0.5天,但是还小于2天,那么就要去找人事部处理,当然,这就要扣工资了。 如果超过了2天,你就需要去找总经理了,工资当然也玩完了。 那么,对于我们来说,这个流程就是这 ...

享元模式

享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 单纯享元模式所涉及到的角色如下:  ●  抽象享元(Flyweight)角色 :给出一个抽象接口,以规定出所有具体享元角色需要实现的方法。  ●  具体享元(ConcreteFlyweight)角色:实现抽象享元角色所规定出的接口。如果有内蕴状态的话,必须负责为内蕴状态提供存储空间。  ●  享元工厂(FlyweightFactory)角色 :本角色负责创建和管理享元角色。本角色必须保证享元对象可以被系统适当地共享。当一个客户端对象调用一个享元对象的时候,享元工厂角色会检查系统中是否已经有一个符合要求的享元对象。如果已 ...
所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。Proxy模式是很常见的模式,在我们生活中处处可见,例如我们买火车票不一定非要到火车站去买,可以到一些火车票的代售点去买。寄信不一定是自己去寄,可以把信委托给邮局,由邮局把信送到目的地。   1. 代理:一个角色代表别一个角色来完成某些特定的功能。 比如:生产商,中间商,客户这三者这间的关系 客户买产品并不直接与生产商打交道,也不用知道产品是如何产生的,客户只与中间商打交道,而中间商就可以对产品进行一些包装,提供一些售后的服务。 代理 ...
Global site tag (gtag.js) - Google Analytics