WEB开发网
开发学院软件开发Java 使用原汁原味的 Java 语言:非 Java 原生程序员的... 阅读

使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性

 2010-02-24 00:00:00 来源:WEB开发网   
核心提示: 信任垃圾收集器的内存管理能力出身 C++ 世界的程序员往往过度担心内存消耗和内存泄漏问题,此类程序员有两种表现,使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性(9),一种是在使用过变量后将变量设置为 null,另一种是调用 finalize()或将其用作一种伪析构函数,读入

信任垃圾收集器的内存管理能力

出身 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; 
 } 
 
 }

上一页  4 5 6 7 8 9 10  下一页

Tags:使用 原汁原味 Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接