Welcome 微信登录

首页 / 软件开发 / JAVA

诊断Java代码: Double Descent错误模式

诊断Java代码: Double Descent错误模式

诊断Java代码: Double Descent错误模式2011-02-12 IBM Eric E. Allen不要强制转换这个类!与可怕的 空指针异常(该异常除了报告空指针之外,对于将要发生的事情什么也不说)不同,类强制转换异常相对来说容易调试。类强制转换经常发生在递归下行数据结构的程序中,通常是当代码的某些部分在每次方法调用中下行了两级且在第二次下行时调度不当时发生的。程序员可通过学习 Double Descent 错误模式来识别这种问题。Double...
诊断Java代码: Broken Dispatch错误模式

诊断Java代码: Broken Dispatch错误模式

诊断Java代码: Broken Dispatch错误模式2011-02-12 IBM Eric E. Allen整体和部分还记得这条谚语吗,“整体大于部分之和”?如果把一个个独立的事件组合成一个相互作用的整体,产生的结果会比单个个体的作用之和要大得多。程序也是一样的道理。随着一个个新方法被添加到程序中,整个程序可能的控制流程迅速增加。对于大型程序而言,很快局面就会无法控制了。就象是一个荒谬而又不可思议的戏法,有时您得到的最终结果并...
Eclipse Ganymede简介

Eclipse Ganymede简介

Eclipse Ganymede简介2011-02-12 IBM Chris Aniszczyk简单地说,Ganymede 就是指同步发行的 24 个主要的 Eclipse 项目。于 Ganymede 和 Eclipse 发行系列,通常必须注意的是即使它是同时发行,也不意味着这些项目是一体的。每个项目仍然是独立的 开源项目,有独立的项目领导层、提交者并按照自己的开发计划运作。最终,Ganymede 将通过提供更加透明和可预测的开发周期来提高在 Eclips...
利用Spring框架改进J2EE编程

利用Spring框架改进J2EE编程

利用Spring框架改进J2EE编程2011-02-12 BEA Peter Braswell摘要J2EE编程正在变得越来越复杂。J2EE已经发展为一个API、复杂化的编程和配置的复杂网络。为了应对这种复杂性,新的框架和方法不断涌现。这些框架高度依赖于一个称为IoC(Inversion of Control,反向控制)的概念。本文将探讨这种方法的一些特性和优点,因为这种方法与J2EE编程相关,而且可以使J2EE编程变得更轻松。简介马克·吐温的...
Java理论与实践: JDK 5.0中更灵活、更具可伸缩性的锁定机制

Java理论与实践: JDK 5.0中更灵活、更具可伸缩性的锁定机制

Java理论与实践: JDK 5.0中更灵活、更具可伸缩性的锁定机制2011-02-12 IBM Brian GoetzJDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如, java.util.concurrent.lock 中的类 ReentrantLock 被作为 Java 语言中 synchronized 功能的替代,它具有相同的内存语义、相同的锁定,但在争用条件下却有更好的性能,此外,它还有 synchronized 没...
Java开发者需坚守的十大基本准则

Java开发者需坚守的十大基本准则

Java开发者需坚守的十大基本准则2011-02-12唐朝一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对程序的功能没什么“贡献”,但过一段时间,比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人的,那还算是走运了,不幸的是,当然了,大多数时候都是别人的不幸,很多时候大家都是在为公司写代码,写代码的人也许早...
检查Comparator接口的契约义务

检查Comparator接口的契约义务

检查Comparator接口的契约义务2011-02-12java.util.Comparator接口容易被实现并使用,但是在Comparator的API文档里有些部分还是应当仔细阅读一下的。实现了Comparator接口的类可以传给例如Collections.sort这样的排序方法。它们也可以被Map或者Set类使用,用来保证Map或者Set里的元素始终是按某种顺序排列的。TreeSet和TreeMap就是这样的类。在Comparator接口里,只有一个...
迁移到Eclipse: Eclipse对IntelliJ IDEAA评估开发指南

迁移到Eclipse: Eclipse对IntelliJ IDEAA评估开发指南

迁移到Eclipse: Eclipse对IntelliJ IDEAA评估开发指南2011-02-12 IBM David GallardoEclipse 是一个免费的、正日益流行起来的 Java 集成开发环境,最新版本的 Eclipse 中提供了很多特性,这些特性使它不但能与其他免费的 IDE 竞争,而且,即使是 IntelliJ IDEA 之类的专业商业软件,Eclipse 也能与之竞争。本文将 Eclipse 与 IDEA 进行了简单比较,为那些希望转...
如何应用Java的可变参数

如何应用Java的可变参数

如何应用Java的可变参数2011-02-12Java语言在JDK1.5中首次推出可变参数,variable arguments,或简称varargs。这一新语言特征给软件开发人员在编写方法重载时提供了方便和灵活性。但可变参数的应用并不像想象的那么简单,使用时有其特殊要求和局限性。重载的最好例子读者朋友可能有这样的编程经历:在编写一个方法时,其参数随着程序运行的条件而变化,在编译期间无法确定。具体地讲,例如编写一个打印参加聚会party的程序,其中方法pr...
探讨Java内部类的可见性

探讨Java内部类的可见性

探讨Java内部类的可见性2011-02-12zhangjunhd在Java中,当生成一个内部类的对象时,此对象与制造它的外部类通过外部类的.this保持着联系,因此该内部类对象可以访问其外部类对象的所有成员,包括private成员。而该内部类对象对于其他类的对象的访问,遵照常规的访问权限语法,这一点也没有什么特别支持。这里需要探讨的是,外部类以及其他类的对象可以如何访问到某个内部类对象,即内部类的可见性问题。下面是一个示例程序Out.java,其中包含了...
驾驭Eclipse功能部件

驾驭Eclipse功能部件

驾驭Eclipse功能部件2011-02-12 IBM Pat McCarthy如何使用Eclipse 功能部件来定制Eclipse 行为构建一个插件是很有趣的:您开始编写代码并创建您想要的工具。把插件拷贝到 Eclipse 或一个基于 Eclipse 的产品中的 plupgins 目录下,这个插件在 Eclipse 运行期环境中就可以使用了。当再一次使用 Eclipse 的时候,插件将被找到,而且经过平台的启动处理,它在运行期配置中将是可用的。但是谁知道...
使用EMF Query查询EMF模型

使用EMF Query查询EMF模型

使用EMF Query查询EMF模型2011-02-12 IBM 郝萍EMF 是 Eclipse 组织推出的建模框架。它能够帮助我们将模型(UML, XSD等)转换成为健壮且功能丰富的Java 代码。通过使用 EMF,我们编写的程序能免费的获得一个健壮的模型层,它通常比我们自己手工编写的模型层更为健壮。事实上,有很多商业产品都使用了 EMF 来作为其模型层。由于 EMF 的广泛使用,Eclipse 组织为其推出了众多的周边模块。1 介绍由于EMF(全称Ec...
将Eclipse导航文件转换为DITA导航文件

将Eclipse导航文件转换为DITA导航文件

将Eclipse导航文件转换为DITA导航文件2011-02-12 IBM Loretta Hicks本文描述了如何完成移植过程中转换工具所不能自动完成的任务:将 Eclipse TOC 文件转换为 DITA 映射文件。这里并没有讨论将 HTML 文件转换为 DITA 格式的原因,OASIS DITA Web 站点上的其他 developerWorks 文章和参考资料将会解释其优势。本文比较了两个基于 XML 的导航文件中的元素,然后使用示例主 TOC 文...
用Eclipse构建Perl应用程序

用Eclipse构建Perl应用程序

用Eclipse构建Perl应用程序2011-02-12 IBM Martin Brown开始之前对于许多 Perl 程序员来说,典型的开发环境可能是一个编辑器(比如 Emacs),再加上一个命令行环境。问题是必须经常在 Emacs 和命令行之间切换。如果正在进行 Web 开发,那么就更糟了,因为在编写、执行和检查日志以获得信息时必须在 Emacs、命令行和 Web 浏览器之间切换。令人吃惊的是,没有哪种 IDE 真正满足 Perl 程序员这么多年来的需要...
为Eclipse插件添加日志框架

为Eclipse插件添加日志框架

为Eclipse插件添加日志框架2011-02-12 IBM Manoel Marques两种增强Eclipse日志功能的方法为什么要采用日志?良好的开发人员都知道精心设计、测试和调试的重要性。虽然 Eclipse 可以帮助开发人员实现这些任务,但是它怎样处理日志呢?很多开发人员相信对于良好的软件开发实践来说,日志是不可或缺的一部分。如果您曾经修正过他人部署过的程序,您无疑也会同意这一点。幸运的是,日志对于性能的影响很小,大部分情况下甚至根本不会对性能产生...
<< 151 152 153 154 155 156 157 158 159 160 >>