写点什么

Eclipse Ganymede:深入JDT(Java Development Tools)

2008 年 6 月 27 日

作为 6 月 25 日发布的 Eclipse Ganymede 的一部分,Infoq 推出了一系列 Eclipse 子项目的相关报道。今天,我们将探讨的子项目是 JDT (Java Development Tools),目前处于 3.4 版。Infoq 采访了 Eclipse 项目的领导人 Philippe Mulet JDT UI 子项目的领导人 Martin Aeschlimann,以了解 Ganymede 中有哪些值得我们期待的东西。

JDT 3.4 中有几个新特性:

  • 强化的编译器——编译工作现在可以在多个核上并行展开,而不是只能使用一个,编译器问题探测得到了改进,支持 CLDC 1.1 类文件输出并增加了工作区外的类文件夹。
  • 新的重构——有一个新的提取类重构功能,它把一组变量提取到一个类中,并且保留了成员访问函数。另外,对于可能导致破坏二进制类引用的重构,现在将会显示一个警告,这样就可以防止意外重构影响了其他客户端可能依赖的类。
  • 升级的 Java 编辑器——在新增的特性中包括了显示当前条目路径的 Breadcrumbs、针对 Java problem 和 Javadoc 的表现力更丰富的悬浮窗口、几个内容帮助的改进、新的快速帮助和一套 SWT 窗口部件模板。
  • 改进的 Java Debugger——在这一版中新出现的特性包括:嵌入到变量悬浮窗口中的对象查看器、执行环境描述文件、将启动配置作为搜索结果的一部分、等候远程调试连接的功能等。
  • 强化的其它 UI——JUnit 测试执行时间、针对域和类型的调用层次、一个可运行的 JAR 输出向导、更多的 Java 搜索选项,这些现在都可供使用了。

在 6 月 25 日官方 Ganymede 发布之后不久,从新特性和值得关注的页面可以得到全部细节信息。

Mulet 对多核编译做出了更详细的解释,他说尽管每个项目是分别编译的,但是将项目编译负载铺开到多个核上导致在多核 CPU 上进行编译的速度提高了 10% 到 30%。Mulet 还小心谨慎的指出,该百分比是临时性的,公共基准数据很快就会公布。另一个需要指出的是,新版 Java 对提高速度的贡献更大——Java 1.4 速度提升了近 10%,而 Java 6 速度提升了近 30%。最终,磁盘速度成了编译性能的关键因素——因为编译过程本身就是一个受 I/O 限制的过程,磁盘介质越快编译速度就越快。

尽管 Eclipse 被认为主要是个 Java IDE,JDT 和 JDT 团队所引领的许多改进也已经被推广到一般类库中,比如语言工具包(Language Toolkit——LTK)和平台文本(Platform Text),它们被其他基于文本的编辑器(如 CDT )所采用,以提供常用的重构、搜索、调试和比较功能。例如,这些类库已经被用来提供可以有后续链接的富 Javadoc 悬浮文本。另外,在 3.5 中可能提供的一个增强功能是预处理支持,按照Mulet 的说法,它将简化使用范围的集成。

Eclipse Compiler for Java(ECJ)是在 JDT 之外已被采用的另一个组件,Mulet 说他所了解的使用了 ECJ 的项目包括 GNU Compiler for Java (GCJ)、 Apache Harmony 的 javac Apache Tomcat JSP AspectJ 编译器。Mulet 补充说他相信这只是部分列表,而且他很想知道还有哪些人在使用 ECJ 作为其工作的一部分。

至于将来的计划,Mulet 说道:

我们现在正在考虑,任何建议都是受欢迎的。或许主题(并非承诺)应该着眼于 Java 7、Java 编辑器嵌套、预处理、每个源文件夹的设置 / 类路径、与 API 工具更好的集成、构建路径上链状的 JAR、构建路径上嵌套的 JAR、提供编译器错 误解释、简化开箱即用的体验(如,默认情况下兼容性和 JRE 应该成对出现)等等……

当问到 JDT 将如何集成到 e4 中,或者会受到 e4 怎样的影响时,Mulet 说道:

e4 的目的是为了使 Eclipse 成为一个更好的平台、在其上的构建应用应该更加简单。一旦 e4 成熟 了,JDT 很可能会转移到其上,类似于我们 Eclipse 1.0 上整个从头开始的做法。到那时,开发两种风格的 JDT 将是非常有意思的事情,因为 3.x 短期内不会立即消失,所以 3.x 中的 JDT 也必须随 Java 一起保持更新……到那时,JDT 可能会对从 Java 到脚本语言的交叉编译提供帮助(就像现在把 Java 翻译成 ActionScript 一样)。也可能会有 些贴近语言工具的项目出现,比如多语言编辑器。

查看英文原文: Eclipse Ganymede: An in-depth look at JDT (Java Development Tools)

2008 年 6 月 27 日 02:371190
用户头像

发布了 150 篇内容, 共 35.6 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

1.2 了解MyBatis -《SSM深入解析与项目实战》

谙忆

LeetCode题解:24. 两两交换链表中的节点,迭代,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Java项目如何分层

老胡爱分享

分层架构 项目

企业网站搭建避坑指南

姜奋斗

网站 新手指南 企业 网站搭建 避坑

1.1 了解Spring框架 -《SSM深入解析与项目实战》

谙忆

七的婚姻生活

徐说科技

C/C++陷阱与套路,当年就是折在这些地儿…

华为云开发者社区

c++ 设计 编辑 程序 陷阱

秒懂云通信:如何使用阿里云号码认证服务(小白指南)

巨侠说

云通信 通信云 号码认证

联盟链有自己的路要走

Leonbond

区块链 联盟链 公有链

JVM系列之:再谈java中的safepoint

程序那些事

Java JVM JIT safepoint

InnoDB存储引擎简介

Simon

MySQL innodb

Netty之旅:你想要的NIO知识点,这里都有!

一枝花算不算浪漫

Netty nio

《SSM深入解析与项目实战》目录与说明

谙忆

微服务架构下你的数据一致了吗?

码猿外

架构 微服务 数据一致性

Google Protocol Buffer 学习笔记

半亩房顶

protobuf

learn go with tests 学习笔记(一) hello world

半亩房顶

golang golang新手

learn go with tests 学习笔记(三) 指针和错误

半亩房顶

golang golang新手

2.1 类加载器、 双亲委派模型 -《SSM深入解析与项目实战》

谙忆

操作系统和并发的爱恨纠葛

cxuan

Java 并发

菊长说丨一文读懂MySQL4种事务隔离级别

华为云开发者社区

MySQL 数据库 事务隔离级别 事务 华为云

Jessie’s产品经理系列1-基础能力篇

架构5班杨娟Jessie

产品经理 能力模型

SQL的三十而已—SQL30问

大唐小生

sql 技术人生

CDN百科10:快速上手阿里云DCDN全站加速,最新配置与购买优惠教程

巨侠说

CDN 直播 网页加速

learn go with tests 学习笔记(二) 数组与切片

半亩房顶

golang golang新手

视频会议专线部署不会?别急,我教你

华为云开发者社区

网络 网关 华为云 高清视频 welink

Web 开发必须掌握的三个技术:Token、Cookie、Session

华为云开发者社区

HTTP Token web开发 session Cookie

字符串匹配 - Sunday算法

半亩房顶

数据结构与算法 字符串匹配算法

ChaosBlade:从零开始的混沌工程(五)

郭旭东

Kubernetes 云原生 混沌工程

计算机网络基础(十五)---传输层-TCP协议详解

书旅

计算机网络 网络 协议栈 协议族

人生修炼秘籍

xiaoboey

时间管理 人生修炼 知行合一 熵增 时间复利

learn go with tests 学习笔记(四)依赖注入

半亩房顶

golang golang新手

Eclipse Ganymede:深入JDT(Java Development Tools)-InfoQ