摘要: 代理模式:可以从字面上理解,比如说dell电脑的代理商厂家可以直销,但是也允许代理商进行销售那么我们就可以这么定义了首先,我们定义一个最基本的制造者,也就是厂家,这里我们提供接口,让厂家跟代理商分别去实现,代理商的实现可以通过初始化厂家的方法同时代理机构也继承了厂家的方法而同时代理商还可以自己添加附... 阅读全文
posted @ 2015-03-22 20:10 kevinfuture 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 策略模式就是把继承的关系优化成“行为组”当使用策略模式的时候就是用interface中的类名去初始化子类中的行为类,在行为类中实现方法然后我们在使用的时候就可以直接使用父类的子类进行创建,还可以使用它的方法比较正式的解释就是:策略模式是对算法的封装,是把使用算法的责任跟算法本身分割,委派给不同对象管... 阅读全文
posted @ 2015-03-22 19:58 kevinfuture 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 就是将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。角色:实体类(Model)public class Model(){方法}抽象建造者(Builder)public interface Builder{ public abstract void... 阅读全文
posted @ 2015-03-22 16:19 kevinfuture 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 用Apache + mod_jk + tomcat来实现tomcat集群的负载均衡的如果出现了问题,可以用cmd cd到Apache安装文件的bin下,运行httpd文件,错误信息就会打印出来。我这里出现的问题是 Include conf/mod_jk.conf无法加载该配置文件(英文翻译过来就是这... 阅读全文
posted @ 2015-02-12 15:37 kevinfuture 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 优先级只有10级,1-10。最高10(java中用Thread.MAX_PRIORITY),最低1,中间级5。设置优先级的方法是 线程对象.setPriority(5);yield : 暂停(不是停止)当前正在执行的线程,并执行其他线程。PS:数据固定的用常量final,数据共享的用静态static... 阅读全文
posted @ 2015-02-11 15:24 kevinfuture 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 第三方停止线程: 原来是stop(),因为该方法有些问题,所以被interrupt()方法取代,它的用途跟机制是 当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除,强制让线程恢复到运行状态中来,这样就可以让操作标记来结束线程。 Thread类提供了interrupt()方法。... 阅读全文
posted @ 2015-02-11 14:52 kevinfuture 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 线程执行当中,线程是放在线程池中的。线程运行当中通常使用了wait()方法等待的话,再使用notify()唤醒线程,通常唤醒的是线程池中等待的第一个线程。而用notifyAll()则是唤醒全部线程 。以上三种红字的方法:wait()、notify()、notifyAll()必须使用在同步synchr... 阅读全文
posted @ 2015-02-11 09:48 kevinfuture 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 所谓死锁可以这么理解,就是同步的当中,出现了竞争资源的情况,双方或者多方的僵持不下所以造成了死循环。但是死锁也有“和谐”的时候,所以有的时候虽然写了死锁的代码确可以偶尔通过。死锁问题的由来是: 同步代码块中有同步函数; 同步函数中有同步代码块。或者说就是同步中还有同步也就是用了两个嵌套的synchr... 阅读全文
posted @ 2015-02-10 22:15 kevinfuture 阅读(98) 评论(0) 推荐(0) 编辑
摘要: /**如果同步函数被静态修饰,那么他的锁就是该方法所在类的字节码文件对象 类名.class静态进内存时,内存中没有本类对象,但是一定有该类对应的字节码文件对象。该对象就是:类名.class 该对象的类型是class**/class Ticket implements Runnable{ priva... 阅读全文
posted @ 2015-02-10 14:54 kevinfuture 阅读(269) 评论(2) 推荐(0) 编辑
摘要: class Ticket implements Runnable{ private int tick = 100; Object obj = new Object(); boolean flag = true; public void run() { if(flag) { while(tru... 阅读全文
posted @ 2015-02-10 14:44 kevinfuture 阅读(486) 评论(1) 推荐(0) 编辑