Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1501691
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 19:28:48

一起学习
很多人都想知道 Sun JDK bug 分析数据,因为每一个开发工具/开发语言都有自己的长处和缺点,如果我们能够使用 Java 的长处,避开 Java 的缺点,则我们有可能写出好的程序,否则,我们不可能写出好的程序。这是一个浅显的道理,每一个程序员、系统分析员、项目经理、技术经理,都应该知道这个道理。   这篇文章的分析数据都来源于 Sun 网站上的公开数据。   JDK 1.4.2 的 bug 数据来自: 。   JDK 5.0 的 bug 数据来自: 。      更早版本的,比如 JDK 1.3,已经从 Sun 网站上被删除了。没有办法再进行分析了。   JDK 1.4.2 的 bug 数据饼图如下:  可以看出,前六位占据了超过半数的 bug: java/classes_awt    13.7% java/classes_swing   12.6% java/classes_2D     11.5% java/classes_net    6.3% java/classes_sound   4.1% java/classes_util    3.7% java/javadoc       3.7% java/classes_nio    3.3% javawebstart/other   3.3% java/compiler      3.0%   JDK 5.0 的 bug 数据饼图如下: 可以看出,前六位同样占据了超过半数的 bug: java/classes_swing    22.5% java/classes_2D      9.5% java/classes_awt     7.6% java/classes_lang     4.6% java/compiler       4.1% java/classes_sound    3.3% java/classes_util_i18n  2.5% java/classes_util     2.5% java/javadoc       2.4% java/classes_net     2.2%   在这两个版本中,前三位都是 Swing、AWT、2D,这说明了在图形界面(专业术语为 GUI)设计中,Sun 的软件工程师的水平仍差强人意,这可以解释。Sun 所开发的软件产品中,主要面向小型机服务器市场。这些市场对于软件的界面要求不高,基本上都是传统的 Unix service 程序。也许 Sun 的强项并不在 GUI 方面。GUI bug 在两个版本的百分比分别是 37.8 和 39.6%,都超过三分之一。      相比较其他流行的开发语言,比如 .Net,或者即使是十年前的老版本 Visual Studio,或者 Borland 的 Delphi/CBuilder 中, GUI bug 所占的分量也没有这么高。   这说明了尽管 Sun 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 Sun 都在新版本的新特点中提到 Java Swing/AWT/2D,我们仍然应该避免使用 Java Swing/AWT/2D。很多第一线的程序员都能明确了解使用 Java GUI 编程是一个非常糟糕的想法,但是在中国国内,还是有很多系统设计师和项目经理有这个糟糕的想法。   JDK 1.4.2 中排名第四的是 java/classes_net,在 JDK 5.0 中则是第十名。考虑到 JDK 1.4.2 相对于以前的版本,增加或者增强了 IPv6、HTTP Digest Authentication、Unconnected/Unbound Socket Support、Connected UDP Socket Support、FTP Protocol Handler、JNDI DNS SP Support in InetAddress、URLEncoder and URLDecoder Improvements、TCP Out-of-Band Data、Full V5 (RFC 1928) & V4 TCP support。由于这是一个比较大的动作, bug 比较多也属于正常范围。   两个版本中,java/classes_sound 都出现在前十,并且排名都比较中前,这说明了 Sun 在多媒体方面的技术也不尽如人意。   让我们失望的是,java/classes_util 在 JDK 1.4.2 和 5.0 中都出现在前十中。这个包的类库使用得比较普遍,每个项目经理或者产品经理都应该派专人去查一查,自己的软件中是否在 java/classes_util 的使用上,有没有避开以上 bug。   在 JDK 1.4.2 中 bug 出现在前十名的 java/classes_nio 没有出现在 JDK 5.0 中,这是一个好消息。终于有一个 Java 包可以放心使用了。   比较让我们哭笑不得是,在两个版本的前十名 bug 中,java/javadoc 和 java/compiler 都出现了。这个怎么说呢,实在是很不应该。java/javadoc 有 bug 好像对于国内的 Java 软件开发来说没有太大的影响,因为重视使用 javadoc 的并不多。至于 java/compiler ,因为 Java 编译器是 C 写的,大概是编译器很难写吧,所以会难免有些 bug。但是编译器是基本上每个 Java 程序员都用的,而且 Sun 的 Java compiler 似乎也是所有 Java compiler 中使用者最多的,Sun 需要继续努力。   JDK 5.0 中,java/compiler bug 所占百分比比 JDK 1.4.2 中提高了好几个名次,很不好的一个趋势。Sun 现在将 Java 开源,希望有助于提高这一部分的软件质量。   以上的 bug 分析,希望对大家有所帮助。 下载本文示例代码


Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析Sun JDK bug 分析
阅读(84) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~