下载本文示例代码
引言 Eclipse是流行的Java集成开发环境(IDE)。同时它还可以作为其它语言的开发环境(例如C 和Ruby)并且作为开发桌面或服务器应用程序的富客户端开发平台。如今,Eclipse开源社区拥有几十个开源项目,其范围从商务智能到社会网络等各个方面。Eclipse是非赢利性基金会的名字,由它全面负责这些工程。 Eclipse的每个版本在Eclipse的发行历史上都具有里程碑意义:在2006年6月30日同时发行了共十个Eclipse工程。本文将集中探讨Eclipse 3.2版本的IDE,特别是它的Java开发工具(JDT)。 JDT构成 JDT的历史可以追踪到在1996年用Smalltalk编写的Visual Age for Java(VAJ)。在VAJ中,一切都被编译并且全部被调入内存。这种设计不能进行比例缩放,难于扩展,从而使其很难进行再创造。 在1999年,该IDE团队开始开发Visual Age Micro Edition(VAME)。这个工具开始完全用Java编写,并使用标准Widget工具箱(SWT)来实现其用户接口。当时的VAME的主要设计市场针对的是嵌入式空间中的开发与应用。为此,它使用了标准Java虚拟机,并且让工作区位于文件系统中。然而,文件和文件夹名字都是一些不能读的UUID。 与VAJ提供的编译器相比,VAME的增长式编译器快了将近十倍。这种模型是基于状态构建的(与当前的Eclipse形成对照,它是基于源码的)。VAME有它自己的仓库系统Rapier,并且可以使用插件方式来对之进行扩展。 VAME一开始并没有吸引社区开发者的注意力,但是其中的确包含很多好主意-开发者以后使用之来开发了他们的下一代工程-Eclipse。在2001年,Eclipse 1.0发行。当时,它被描述为"一种通用的IDE,并不特别针对于什么内容"。从一开始,Eclipse和JDT都被构建为一种针对其它开发工具使用的开发平台。工作区存储在磁盘上并且对其它工作区开放。Eclipse 1.0中使用的不是一种专利式数据仓库,而是集成了CVS。 与其先行者相比,Eclipse还有另一个重要区别:它是开源的,而且其用户社区大量存在并且是自维持性的。Eclipse 3.2大多数的新的和改进特征直接来源于Eclipse用户。自从3.1版本以来,共有超过30,000个请求被修改并得到增强。去粗存精,下面让我们来重点分析几个对于大多数Java开发者特别重要的特征。 Eclipse编译器 JDT的强有力的特征之一是它的内植的完全兼容于javac的增长式Java编译器。尽管你能使Eclipse使用Ant和javac,甚至能够使问题标记显示于IDE中(这是3.2版本中的新特征),但是,Eclipse编译器本身就提供了更好的诊断技术。 该JDT编译器最初的开发目的是针对VAME,以后针对Eclipse作了修改。这个编译器基于开发者称之的"编译三规则",并在模式上遵循了Asimov的机器人学规则: 1. 正确性-一个编译器不能损害一个源程序。 2. 高效性-除了与规则1相冲突的地方之外,一个编译器必须是快速的。 3. 友好性-一个编译器必须帮助用户纠正编程错误,只要这样的帮助不与规则1和规则2相冲突。 正确性:当设计一个Java编译器时,你不仅必须遵循相应的规范,而且还要领悟该规范的精神,只考虑正确性是不行的。因此,JDT开发者一直在努力奋斗以与其它编译器基本保持一致(包括Sun的编译器)。在Eclipse 3.2(相比之下,在VAJ中根本没有进行单元测试)中仅针对正确性的检查就超过15,000多次的单元测试。 高效性:成千的工程和成百万行的代码往往是很经常的事情。这意味着,大量的问题,例如内存消耗必须能够被预测和加以分级,需要解决。Eclipse 3.2使用回归式优化策略对此作了进一步提炼。例如,开发者可以重写一个流程图以便使用位操作,结果它从以前百分之20的时间消耗降低到了百分之4。 友好性:报告错误是一种艺术,只用行号是不够的,二级错误被最小化。例如,如果你在一个文件中丢失了一个分号,它不会影响所有另外它所依赖的文件。改进的静态分析功能有助于发现错误模式。另外,Eclipse还能够对Javadoc进行正确性检查。 在3.2版本中,Eclipse编译器是Java-SE-6.0兼容的。Eclipse支持Java 6分类和StackMapTable属性(甚至在Java 6发行之前)。而且,该编译器提供了大量的新的诊断功能-有助于你发现存在于代码中的问题。与3.2版本的编译器(提供了45种诊断功能)相比,VAJ则仅提供了3种诊断功能。最新的一些诊断功能包括针对如下内容的检测: · 使用显然是null的变量。 · 不必要的null检查。 · 到方法参数的偶然赋值。 · 切换大小写。 · 使用非泛型(原始)类型。 · 未使用的标签。 · 不必要的$NON-NLS$标签。 在默认情况下,大多数的这些功能都处于off状态。当然,你还可以使用@SuppressWarnings注解来把它们设置为off状态。 从3.2版本开始,如果你想在Eclipse外部使用Eclipse编译器,你可以单独下载这样的版本。它的命令行兼容于javac,并且下载尺寸仅有1MB左右。既然Eclipse编译器是开源的,所以大量的其它工程,例如Apache Tomcat,就可以绑定到其它的软件当中。共3页。 1 2 3 :
引言 Eclipse是流行的Java集成开发环境(IDE)。同时它还可以作为其它语言的开发环境(例如C 和Ruby)并且作为开发桌面或服务器应用程序的富客户端开发平台。如今,Eclipse开源社区拥有几十个开源项目,其范围从商务智能到社会网络等各个方面。Eclipse是非赢利性基金会的名字,由它全面负责这些工程。 Eclipse的每个版本在Eclipse的发行历史上都具有里程碑意义:在2006年6月30日同时发行了共十个Eclipse工程。本文将集中探讨Eclipse 3.2版本的IDE,特别是它的Java开发工具(JDT)。 JDT构成 JDT的历史可以追踪到在1996年用Smalltalk编写的Visual Age for Java(VAJ)。在VAJ中,一切都被编译并且全部被调入内存。这种设计不能进行比例缩放,难于扩展,从而使其很难进行再创造。 在1999年,该IDE团队开始开发Visual Age Micro Edition(VAME)。这个工具开始完全用Java编写,并使用标准Widget工具箱(SWT)来实现其用户接口。当时的VAME的主要设计市场针对的是嵌入式空间中的开发与应用。为此,它使用了标准Java虚拟机,并且让工作区位于文件系统中。然而,文件和文件夹名字都是一些不能读的UUID。 与VAJ提供的编译器相比,VAME的增长式编译器快了将近十倍。这种模型是基于状态构建的(与当前的Eclipse形成对照,它是基于源码的)。VAME有它自己的仓库系统Rapier,并且可以使用插件方式来对之进行扩展。 VAME一开始并没有吸引社区开发者的注意力,但是其中的确包含很多好主意-开发者以后使用之来开发了他们的下一代工程-Eclipse。在2001年,Eclipse 1.0发行。当时,它被描述为"一种通用的IDE,并不特别针对于什么内容"。从一开始,Eclipse和JDT都被构建为一种针对其它开发工具使用的开发平台。工作区存储在磁盘上并且对其它工作区开放。Eclipse 1.0中使用的不是一种专利式数据仓库,而是集成了CVS。 与其先行者相比,Eclipse还有另一个重要区别:它是开源的,而且其用户社区大量存在并且是自维持性的。Eclipse 3.2大多数的新的和改进特征直接来源于Eclipse用户。自从3.1版本以来,共有超过30,000个请求被修改并得到增强。去粗存精,下面让我们来重点分析几个对于大多数Java开发者特别重要的特征。 Eclipse编译器 JDT的强有力的特征之一是它的内植的完全兼容于javac的增长式Java编译器。尽管你能使Eclipse使用Ant和javac,甚至能够使问题标记显示于IDE中(这是3.2版本中的新特征),但是,Eclipse编译器本身就提供了更好的诊断技术。 该JDT编译器最初的开发目的是针对VAME,以后针对Eclipse作了修改。这个编译器基于开发者称之的"编译三规则",并在模式上遵循了Asimov的机器人学规则: 1. 正确性-一个编译器不能损害一个源程序。 2. 高效性-除了与规则1相冲突的地方之外,一个编译器必须是快速的。 3. 友好性-一个编译器必须帮助用户纠正编程错误,只要这样的帮助不与规则1和规则2相冲突。 正确性:当设计一个Java编译器时,你不仅必须遵循相应的规范,而且还要领悟该规范的精神,只考虑正确性是不行的。因此,JDT开发者一直在努力奋斗以与其它编译器基本保持一致(包括Sun的编译器)。在Eclipse 3.2(相比之下,在VAJ中根本没有进行单元测试)中仅针对正确性的检查就超过15,000多次的单元测试。 高效性:成千的工程和成百万行的代码往往是很经常的事情。这意味着,大量的问题,例如内存消耗必须能够被预测和加以分级,需要解决。Eclipse 3.2使用回归式优化策略对此作了进一步提炼。例如,开发者可以重写一个流程图以便使用位操作,结果它从以前百分之20的时间消耗降低到了百分之4。 友好性:报告错误是一种艺术,只用行号是不够的,二级错误被最小化。例如,如果你在一个文件中丢失了一个分号,它不会影响所有另外它所依赖的文件。改进的静态分析功能有助于发现错误模式。另外,Eclipse还能够对Javadoc进行正确性检查。 在3.2版本中,Eclipse编译器是Java-SE-6.0兼容的。Eclipse支持Java 6分类和StackMapTable属性(甚至在Java 6发行之前)。而且,该编译器提供了大量的新的诊断功能-有助于你发现存在于代码中的问题。与3.2版本的编译器(提供了45种诊断功能)相比,VAJ则仅提供了3种诊断功能。最新的一些诊断功能包括针对如下内容的检测: · 使用显然是null的变量。 · 不必要的null检查。 · 到方法参数的偶然赋值。 · 切换大小写。 · 使用非泛型(原始)类型。 · 未使用的标签。 · 不必要的$NON-NLS$标签。 在默认情况下,大多数的这些功能都处于off状态。当然,你还可以使用@SuppressWarnings注解来把它们设置为off状态。 从3.2版本开始,如果你想在Eclipse外部使用Eclipse编译器,你可以单独下载这样的版本。它的命令行兼容于javac,并且下载尺寸仅有1MB左右。既然Eclipse编译器是开源的,所以大量的其它工程,例如Apache Tomcat,就可以绑定到其它的软件当中。共3页。 1 2 3 :
下载本文示例代码
Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验Eclipse 3.2 Java开发新特征全面体验
阅读(220) | 评论(0) | 转发(0) |