- 博客(12)
- 资源 (4)
- 收藏
- 关注
转载 java 的 Thread_wait、notify、notifyAll的使用方法
wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。•如果对象调用了wait方法就会使持有该对象的线程把该对象的控制权交出去,然后处于等待状态。•如果对象调用了notify方法就会通知某个正在等待这个对象的控制权的线程可以继续运行。
2015-10-31 11:07:43 462
转载 Callable与Future的介绍
Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable { V call() throws Exception;
2015-10-30 15:17:48 438
原创 NIO socket
package thread;import java.net.*;import java.io.*;import java.nio.*;import java.nio.channels.*;import java.nio.charset.*;/** * Description: * 网站: 疯狂Java联盟 * Copyright (C), 2001-2016, Yeeku.H
2015-10-28 16:16:05 420
原创 ThreadLocal
在同步机制中,通过对象的锁机制保证同一时间只有一个线程访问变量。这时该变量是多个线程共享的,使用同步机制要求程序慎密地分析什么时候对变量进行读写,什么时候需要锁定某个对象,什么时候释放对象锁等繁杂的问题,程序设计和编写难度相对较大。而ThreadLocal则从另一个角度来解决多线程的并发访问。ThreadLocal会为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据的访问冲突。因
2015-10-22 15:25:51 388
原创 observer
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作什么时候使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知 关键代码:在抽象类里有一个ArrayList放观察者们应用实例:1、拍卖的时候,
2015-10-20 23:08:37 494
原创 State 模式
意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类.主要解决:对象的行为依赖于它的状态(属性)并且可以根据它的状态改变而改变它的相关行为什么时候使用:代码中包含大量与对象状态有关的条件语句如何解决 :将各种具体的状态类抽象出来关键代码:通常命令模式的接口中只有一个方法. 而状态模式的接口中有1个或者多个方法.而且,状态模式的实现类的方法,一般返回值;
2015-10-06 14:23:53 413
原创 Command模式
意图:将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适.什么时候使用:在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”
2015-10-06 14:17:23 430
原创 Bridge--桥接模式
意图:将抽象部分与实现部分分离,使它们都可以独立的变化.主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活什么时候使用:实现系统可能有多个角度分类,每一种角度都可能变化如何解决 :那么把这种多角度分类给分离出来让他们独立变化,减少他们之间耦合优点:1、抽象和实现的分离. 2、优秀的扩展能力 3、实现细节对客户透明缺点:1、桥接模式的引入会增加系统的
2015-10-05 10:45:05 524
原创 责任链模式----ChainOfResponsibility
意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了什么时候使用:在处理消息的时候以过滤很多道如何解决 :拦截的类都实现统一接口应用实例:1
2015-10-03 23:02:27 560
原创 Proxy
意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层什么时候使用:想在访问一个类时做一些控制如何解决
2015-10-03 12:30:10 455
原创 策略模式
意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用if..else所带来的复杂和难以维护什么时候使用:一个系统有许多许多类,而区分他们的只是他们直接的行为如何解决 :将这些算法封装成一个一个的类,任意的替换使用场景:1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么
2015-10-02 11:58:23 417
原创 Iterator 模式
一、有如下几个类1.接口Collection.java2.接口Iterator.java3.ArrayList.java4.LinkedList.java5.Node.java应用实例:JAVA中的iterator优点:1、它支持以不同的方式遍历一个聚合对象。2、迭代器简化了聚合类。3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的
2015-10-01 18:01:59 498
Fedora最新版 Fedora 12基础教程
2010-12-20
Clojure项目问题
2022-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人