摘要: Num1:for each循环优先于传统的for循环 java1.5版本发布之前的做法: 总之,for each循环在简洁性和预防Bug方面有着传统的for循环无法比拟的优势,并且没有性能损失。应该尽可能地使用for each循环。遗憾的是,有三种常见的情况无法使用for each循环: 过滤:如果 阅读全文
posted @ 2016-06-28 14:23 cryAllen 阅读(507) 评论(0) 推荐(0)
摘要: 在Java1.5版本中,引入了两个类型:枚举类型 和注解类型 。 Num1:用enum代替int常量 枚举类型 是指由一组固定的常量组成合法值的类型。比如: Num2:用EnumSet代替位域 示例代码: java public class Text { public enum Style { BO 阅读全文
posted @ 2016-06-28 14:22 cryAllen 阅读(556) 评论(0) 推荐(0)
摘要: Num1:检查参数的有效性 绝大多数的方法和构造器对于传递给它们的参数值都会有某些限制。比如:索引值必须是非负数,对象引用不能为 等等。这些都很常见,你应该在文档中清楚地指明所有这些限制,并在方法体的开头处检查参数,以强制施加这些限制。 示例代码: 这个代码最终的三个结果是:“Unknown Col 阅读全文
posted @ 2016-06-28 14:20 cryAllen 阅读(285) 评论(0) 推荐(0)
摘要: Num1:请不要在新代码中使用原生类型 泛型类和接口统称为泛型。每种泛型定义一组参数化的类型,构成格式是:类或接口名称,接着用把对应于泛型形式类型的参数的实际参数列表括起来。比如:List是一个参数化的类型,表示元素类型为String的列表。最后一点,每个泛型都定义一个原生类型,raw type,即 阅读全文
posted @ 2016-06-27 15:41 cryAllen 阅读(270) 评论(0) 推荐(0)
摘要: Num1:使类和成员的可访问性最小化 要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰地隔离开来。也称呼为封装。 所以有这么一句话:尽可能地使每个类或者成员不被外界 阅读全文
posted @ 2016-06-24 13:54 cryAllen 阅读(527) 评论(0) 推荐(0)
摘要: Num1:考虑用静态工厂方法代替构造器 对于类而言,常见的方法是提供一个公有的构造器,但其实还有一种方法叫做静态工厂方法(static factory method),它只是一个返回类的实例静态方法。 目前比较流行的规范是把静态工厂方法命名为 或者 。 :该方法返回的实例与它的参数具有同样的值,例如 阅读全文
posted @ 2016-06-22 15:26 cryAllen 阅读(2156) 评论(0) 推荐(0)
摘要: 前言 这是“基础自测”系列的第三篇文章,以Android开发需要熟悉的20个技术点为切入点,本篇重点讲讲Android中的ImageLoader这个库的一些理解,在Android上最让人头疼是从网络中获取图片,显示,回收,任何一个环节有问题都可能直接OOM,当需要加载大量的图片的时候,每当快速滑,有 阅读全文
posted @ 2016-06-14 18:18 cryAllen 阅读(6158) 评论(0) 推荐(3)
摘要: 前言 前言 受《APP研发录》启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI和利用MobileAPI处理Json还是蛮无聊的,做着重复的事情,没有技术的上提升空间的。所以,根据里面提到的An 阅读全文
posted @ 2016-05-27 15:58 cryAllen 阅读(91444) 评论(2) 推荐(4)
摘要: Handler+Looper+MessageQueue这三者的关系其实就是Android的消息机制。这块内容相比开发人员都不陌生,在面试中,或者日常开发中都会碰到,今天就来讲这三者的关系。 概述: Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念 阅读全文
posted @ 2016-05-26 10:53 cryAllen 阅读(5297) 评论(0) 推荐(1)
摘要: 前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6.0出来,使得用户权限授权变得合理。这可能也是参考IOS系统的,只有在用户需要使用权限的时候,才去授权 阅读全文
posted @ 2016-02-04 12:02 cryAllen 阅读(39744) 评论(3) 推荐(4)