摘要: 面向对象的六大原则 单一职责原则: 1)类的功能应该尽量细化分开,降低功能扩展时的难度; 2)类不应该实现不需要的(或其他模块的)功能; ps.单一职责原则不仅仅适用于面向对象编程,也适用于模块的实现。 接口隔离原则 1)接口的抽象的功能应该尽量细化分开,不要让实现了这个接口的类必须实现它不需要的功 阅读全文
posted @ 2018-01-05 00:07 shadow_demo 阅读(1003) 评论(0) 推荐(0)
摘要: ReentrantLock实现了Lock接口 lock(),调用后尝试获取锁,如果锁被占用了,则进入阻塞状态等待,类似于synchronized的作用,直到获取锁后才继续执行下面的方法,Thread.interrupt()是无法中断它的等待的。 lockInterruptibly(),作用和lock 阅读全文
posted @ 2018-01-04 15:28 shadow_demo 阅读(255) 评论(0) 推荐(0)
摘要: int size = 3; //缓存线程池,线程池的大小由jvm决定,如果有空闲线程会回收 Executors.newCachedThreadPool(); //单线程线程池,可保证任务执行的顺序就是任务提交的顺序 Executors.newSingleThreadExecutor(); //固定大 阅读全文
posted @ 2018-01-03 23:54 shadow_demo 阅读(322) 评论(0) 推荐(0)
摘要: 装潢模式 我的理解是,装潢模式的作用就是:扩展类的功能但不修改类,也就是依赖倒置原则 用普通白饭和蛋炒饭举个例子 Food是他们都实现了的接口 Rice(白饭)实现了Food接口 蛋炒饭(EggRice)也实现了Food接口,并且持有一个实现了Food接口的对象,也就是普通白饭(EggRice装饰了 阅读全文
posted @ 2018-01-03 22:47 shadow_demo 阅读(265) 评论(0) 推荐(0)
摘要: 使线程暂停执行的方法? 1.Thread类的sleep()方法使线程进入阻塞状态,睡眠指定的时间段。 2.Object类的wait()方法使线程放弃对象锁,进入等锁池,直到获得对象锁后才继续往下执行 3.Thread类的yield()方法平时比较少用,使线程进入就绪状态而不是阻塞状态,也就是说下一个 阅读全文
posted @ 2018-01-02 23:32 shadow_demo 阅读(162) 评论(0) 推荐(0)