这是个好东西,Effective C++里都已说过:能用的地方尽量用,大师都这样说了,我们这些渣渣为何不遵循? const就是常量,这就有个重要的东西了:常量必须初始化 const int a = 0; const int b = get_size(); //已知有get_size()函数 cons ...
分类:
其他好文 时间:
2017-10-03 15:24:56
阅读次数:
116
一、基础类 1、《Thinking in java》(阅读2遍),入门第一位是建立正确的概念 2、《Core Java》这本书更贴近实践,更多API的介绍,同样,更新也更频繁。(可以选重点章节读一下) 二、进阶类 1、《Effective Java》(阅读1遍),在熟悉语法、API之后,你需要知道最 ...
分类:
编程语言 时间:
2017-10-02 23:08:08
阅读次数:
250
第8条:覆盖equals时请遵守通用约定 覆盖equals方法看起来似乎很简单,但是有许多覆盖方式会导致错误,并且后果非常严重。最容易避免这类问题的办法就是不覆盖equals方法,在这种情况下,类的每个实例都只与它自身相等。 那么,什么时候应该覆盖Object.equals呢?如果类具有自己特有的“... ...
分类:
编程语言 时间:
2017-09-30 15:14:03
阅读次数:
158
第58条:对可恢复的情况使用受检异常,对编程错误使用运行时异常 Java程序设计语言提供了三种可抛出结构(throwable) ;受检的异常(checked exception)运行时异常(run-time exception)和错误(error)。 受检的异常是潜在指示 在决定使用受检的异常或是未... ...
分类:
编程语言 时间:
2017-09-30 15:12:01
阅读次数:
174
第13条:使类和成员的可访问性最小化 第一规则很简单:尽可能地使每个类或者成员不被外界访问。换句话说。应该使用与你正在编写的软件的对应功能相一致的、尽可能最小的访问级别。 对于顶层的(非嵌套的)类和接口,只有两种可能的访问级别:包级私有的(package-private)和公有的(public)。如... ...
分类:
编程语言 时间:
2017-09-30 15:07:38
阅读次数:
225
第66条:同步访问共享的可变数据 Java语言规范保证读或者写一个变量是原子的(atomic ) ,除非这个变量的类型为long或者double. [java中long和double类型操作的非原子性探究]( http://blog.csdn.net/zhaifengmin/article/deta... ...
分类:
编程语言 时间:
2017-09-30 15:06:50
阅读次数:
160
第30条:用enum代替int常量 将加班工资计算移到一个私有的嵌套枚举中,将这个策略枚举(strategy enum)的实例传到PayrollDay枚举的构造器中。之后PayrollDay枚举将加班工资计算委托给策略枚举: 以上,方法overtimePay()在每个枚举类示例中实现,对外提供一致的... ...
分类:
编程语言 时间:
2017-09-30 15:04:04
阅读次数:
171
第38条:检查参数的有效性 对于公有的方法,要用javadoc的@throws标签(tag)在文档中说明违反参数值限制时会抛出的异常。这样的异常通常为IllegalArgumentException, IndexOutOfBoundsException或NullPointerException. 非... ...
分类:
编程语言 时间:
2017-09-30 15:03:34
阅读次数:
178
第23条:请不要在新代码中使用原生态类型 声明中具有一个或者多个类型参数( type parameter)的类或者接口,就是泛型(generic)类或者接口。 每种泛型定义一组参数化的类型(parameterized type),构成格式为: 先是类或者接口的名称,接着用尖括号()把对应于泛型形式类... ...
分类:
编程语言 时间:
2017-09-30 14:56:33
阅读次数:
177
“将一个对象编码成一个字节流”,称作将该对象序列化(serializing); 相反的处理过程被称作反序列化(deserializing),一旦对象被序列化后,它的编码就可以从一台正在运行的虚拟机被传递到另一台虚拟机上,或者被存储到磁盘上,供以后反序列化时用。序列化技术为远程通信提供了标准的线路级(... ...
分类:
编程语言 时间:
2017-09-30 14:55:06
阅读次数:
181