奔跑的肥猪

导航

2017年5月31日 #

Visitor 模式心得

摘要: 最近读到Visitor模式,还是一知半解的。偶然翻到Uncle Bob对该模式的推导过程,有所心得,和大家分享一下。 Uncle Bob 的链接是: http://butunclebob.com/ArticleS.UncleBob.VisitorVersusInstanceOf。个人觉得该模式用来操 阅读全文

posted @ 2017-05-31 13:11 布兜兜 阅读(477) 评论(0) 推荐(0) 编辑

2017年4月27日 #

状态模式

摘要: 状态模式,个人认为通过将对象行为包装在不同状态对象里面,通过控制状态的变化来实现行为的差异。关于状态模式的使用场景,如果一个对象在不同状态(至少3个状态)下有不同行为,而且还有增加状态的趋势,可以考虑使用状态模式。拿电梯(来源于Java 设计模式——状态模式)来说,众所周知,电梯至少有四种状态: 开 阅读全文

posted @ 2017-04-27 11:37 布兜兜 阅读(155) 评论(0) 推荐(0) 编辑

2017年4月26日 #

MVP 实践

摘要: 今天有时间看了看google的官方文档,下载todo源码,仔细研读了一下,觉得其思想对开发还是有很大帮助的。个人认为,MVP通过Activity与业务逻辑的解耦,其作为Controller的职责更加单一。 以后增加新的功能或者修改现有功能,只需要修改Presenter的实现从而对Activity的影 阅读全文

posted @ 2017-04-26 17:47 布兜兜 阅读(134) 评论(0) 推荐(0) 编辑

2017年4月25日 #

Java冒泡法和二分法

摘要: 最近去一家公司面试,手贱在人家CTO面前自告奋勇写了一把冒泡法,结果在交换数据的时候出了洋相,回家反思,写下如下代码,对自己算是一个鞭策,得到的教训是不要眼高手低,低调前行。 阅读全文

posted @ 2017-04-25 18:37 布兜兜 阅读(242) 评论(0) 推荐(0) 编辑

AsyncTask 进行耗时操作和UI 更新

摘要: 相信各位对 AsyncTask 不会陌生,虽然它有如下弊端: 1. 如果在activiy内部new 一个AsyncTask, 横竖屏切换生成一个新的activity,等结果返回时,处理不好容易出现NPE。 2. 容易出现内存泄漏,如果AsyncTask 进行比较耗时的IO操作(网络操作, 打开一个文 阅读全文

posted @ 2017-04-25 17:34 布兜兜 阅读(271) 评论(0) 推荐(0) 编辑

策略模式在ThreadpoolExecutor中的应用

摘要: 偶然读到ThreadpoolExecutor的源码,发现里面使用到了策略模式,抓出来和大家分享下: 感兴趣的朋友们可以读读 ThreadPoolExecutor的源码: 阅读全文

posted @ 2017-04-25 15:47 布兜兜 阅读(237) 评论(0) 推荐(0) 编辑

AsyncTask RejectedExecutionException 小结

摘要: 在使用Asynctask时,相信有些朋友会遇到以下RejectedExecutionException: 到底是什么原理导致以上RuntimeException呢? 让我们一起研读源码来一探究竟。 首先,可以使用以下代码来制造上面的Exception: 需要解释的是,我用的CPU 是四核,所以对应的 阅读全文

posted @ 2017-04-25 15:29 布兜兜 阅读(3037) 评论(0) 推荐(0) 编辑

Handler使用小结

摘要: 个人概念里面handler用来更新UI。一直有一个问题困恼我,为什么我在主线程里面创建一个Handler不需要传递传递Looper,而在一个子线程里面必须调用Looper.prepare, Looper.loop。今天看了看源码,终于知道里面的原委。个人觉得一切和ThreadLocal有关,关于Th 阅读全文

posted @ 2017-04-25 10:21 布兜兜 阅读(262) 评论(0) 推荐(0) 编辑

2014年8月15日 #

google 账号登陆chrome内容是中文的问题

摘要: 最近要用到google accout使用某项服务,奇怪的是之前是英文,登陆后就显示中文了,我把浏览器默认的语言和电脑的系统语言改了也无济于事,最好还是google 帮忙解决了,原来我的google accout默认就是中文,google太智能也不行啊https://support.google.co... 阅读全文

posted @ 2014-08-15 17:19 布兜兜 阅读(108) 评论(0) 推荐(0) 编辑

java.io.IOException: Cannot run program "jad"

摘要: 今天调试google tag manager, 需要看看google analytics source code,无奈没有源码,装个一个插件ejad 还是不行:java.io.IOException: Cannot run program "jad"搞了半天,原来是jad.exe没有装http://... 阅读全文

posted @ 2014-08-15 14:58 布兜兜 阅读(1269) 评论(0) 推荐(0) 编辑