使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性
2010-02-24 00:00:00 来源:WEB开发网信任垃圾收集器的内存管理能力
出身 C++ 世界的程序员往往过度担心内存消耗和内存泄漏问题。此类程序员有两种表现。一种是在使用过变量后将变量设置为 null。另一种是调用 finalize()或将其用作一种伪析构函数。这是完全没有必要的。尽管有些时候确实需要在 Java 代码中手动释放内存,但这种情况十分罕见。大多数时候,只需依靠垃圾收集器即可合理快速地完成内存管理。与大多数优化一样,最佳实践准则就是:除非能够证明是有必要的,否则不要去干涉。
使用首选原语数据类型
Java 语言有八种原语数据类型,但仅使用了其中的六种。在 Java 代码中,float 比 C 代码中少得多。float 变量或文字在 Java 代码中极为罕见,更常用的是 double。使用 float 的惟一时机就是操纵精度有限的大型多维浮点数字数组,此时存储空间较为重要。否则使用 double 即可。
比 float 更不常见的是 short。我在 Java 代码中几乎没有见过 short 变量。只有惟一的一次(我要警告您,这是极其罕见的情况),读入的外部定义数据格式碰巧包含 16 位有符号整型类型。在这种情况下,大多数程序员都会将其作为 int 读入。
确定私有属性的范围
您是否见过清单 22 中这种 equals() 方法?
清单 12. C++ 程序员编写的 equals()方法
public class Foo {
private double x;
public double getX() {
return this.x;
}
public boolean equals(Object o) {
if (o instanceof Foo) {
Foo f = (Foo) o;
return this.x == f.getX();
}
return false;
}
}
更多精彩
赞助商链接