会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
shadow_demo
博客园
首页
新随笔
联系
管理
订阅
2018年1月5日
面向对象六大原则 和 几种设计模式
摘要: 面向对象的六大原则 单一职责原则: 1)类的功能应该尽量细化分开,降低功能扩展时的难度; 2)类不应该实现不需要的(或其他模块的)功能; ps.单一职责原则不仅仅适用于面向对象编程,也适用于模块的实现。 接口隔离原则 1)接口的抽象的功能应该尽量细化分开,不要让实现了这个接口的类必须实现它不需要的功
阅读全文
posted @ 2018-01-05 00:07 shadow_demo
阅读(1003)
评论(0)
推荐(0)
2018年1月4日
同步机制之 ReentrantLock
摘要: ReentrantLock实现了Lock接口 lock(),调用后尝试获取锁,如果锁被占用了,则进入阻塞状态等待,类似于synchronized的作用,直到获取锁后才继续执行下面的方法,Thread.interrupt()是无法中断它的等待的。 lockInterruptibly(),作用和lock
阅读全文
posted @ 2018-01-04 15:28 shadow_demo
阅读(255)
评论(0)
推荐(0)
2018年1月3日
四种常见线程池
摘要: 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)
2018年1月2日
线程暂停的方法、基本数据类型包装类、十进制单精度浮点数(32位)存入内存中、TreeSet和TreeMap
摘要: 使线程暂停执行的方法? 1.Thread类的sleep()方法使线程进入阻塞状态,睡眠指定的时间段。 2.Object类的wait()方法使线程放弃对象锁,进入等锁池,直到获得对象锁后才继续往下执行 3.Thread类的yield()方法平时比较少用,使线程进入就绪状态而不是阻塞状态,也就是说下一个
阅读全文
posted @ 2018-01-02 23:32 shadow_demo
阅读(162)
评论(0)
推荐(0)
公告