装箱百万奖金,第六届全国工业互联网数据创新应用大赛火热报名中! 了解详情
写点什么

Eclipse Ganymede:深入 JDT(Java Development Tools)

  • 2008-06-27
  • 本文字数:1645 字

    阅读完需:约 5 分钟

作为 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-06-27 02:371489
用户头像

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

关注

评论

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

拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

程序员小富

Java GitHub 编程 程序员 代码

云网络开山之作,揭秘云上高速公路的十年技术成果!

博文视点Broadview

书单 | 5月畅销新书情报,你最Pick哪一本?

博文视点Broadview

毕业设计So Easy:珠穆朗玛FM音频电台APP

不脱发的程序猿

android 软件开发 APP开发 毕业设计 移动应用开发

一封MySQL之父Monty的回信,开启彭立勋的数据库之路

华为云开发者联盟

MySQL 数据库 opengauss GaussDB 华为云数据库

Spring Cloud Alibaba 实战

Xiao8

微服务 SpringCloud Alibaba 6月日更

chia奇亚挖矿系统开发案例介绍丨chia奇亚挖矿源码功能

系统开发咨询1357O98O718

为什么说混合云是新基建的流行架构?

博文视点Broadview

你的同事是你的竞争对手吗?

石云升

战略思考 职场经验 6月日更

NQI质量基础设施“一站式”服务平台开发解决方案

源中瑞-龙先生

开发 解决方案 NQI 质量基础设施“一站式”

anyRTC SDK 5月迭代:优化自定义加密功能,让通信更安全

anyRTC开发者

音视频 WebRTC sdk

云上创新,阿里云视频云分享全场景音视频服务背后的场景探索与技术实践

阿里云视频云

阿里云 音视频 在线教育 视频会议 直播技术

LeaRun .Net Core/Java工作流引擎,分离式前端,升级Vue

雯雯写代码

Vue 工作流引擎

国内首篇云厂商 Serverless 论文入选全球顶会:突发流量下,如何加速容器启动?

Serverless Devs

Serverless 容器 云原生

40 图|硬核解析用 Mac M1 玩转 SpringCloud

悟空聊架构

Spring Cloud Mac SpringCloud Alibaba m1 6月日更

【Flutter 专题】115 图解自定义 View 之 Canvas (四) drawParagraph

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

基于开源Tars的动态负载均衡实践

vivo互联网技术

负载均衡 TARS

图表示学习+图神经网络:破解AI黑盒,揭示万物奥秘的钥匙!

博文视点Broadview

火爆全网的迁移学习简明手册全面更新,重磅出版上市!

博文视点Broadview

C 语言面向对象的封装方式

实力程序员

《面试官:谈谈你对索引的认知》系列之B+树

架构精进之路

MySQL 索引结构 6月日更

Chia奇亚云算力挖矿系统开发成功案例丨Chia奇亚挖矿源码成品

系统开发咨询1357O98O718

fil云算力系统开发具体流程丨fil云算力开发源码成品

系统开发咨询1357O98O718

华为云携手马栏山文创园助力湖南广电荣获国家广电总局多项大奖

华为云开发者联盟

AI 5G 视频 华为云 马栏山

Flink+Alink,当大数据遇见机器学习!

博文视点Broadview

自适应微服务治理背后的算法

万俊峰Kevin

微服务 自适应 服务治理 Go 语言

🏆未来可期,WebRTC成为实时通讯方案的行业标准

洛神灬殇

音视频 WebRTC 实时通信 6月日更

[万字总结] 一文吃透 Webpack 核心原理

范文杰

大前端 webpack 6月日更

react源码解析3.react源码架构

全栈潇晨

React React Hooks react源码

Rust从0到1-泛型-trait

rust 泛型 Trait generic

总结笔记 Datawhale-23期数据挖掘-心跳信号分类预测

万里无云万里天

数据挖掘 6月日更 Datawhale

Eclipse Ganymede:深入JDT(Java Development Tools)_Java_Alex Blewitt_InfoQ精选文章