写点什么

面向.NET 平台的 Java 1.5

  • 2008-12-18
  • 本文字数:991 字

    阅读完需:约 3 分钟

Ja.NET 是 Java 1.5 SE 的.NET 平台版本。其编译器基于 Eclipse JDT ,同时 JDT 也得到了改良以便生成 IL 和 Java 字节码。传统上,Java 会将每个类编译成一个单独的文件,但是对.NET 来说这样做的代价太高了。为了解决这个问题,Ja.NET 使用了一个基于 Cecil 的工具来创建更大的程序集,这与 Java 创建 Jar 文件的方式很相似。

为了获得更好的类库支持, Ja.NET 基于开源项目 Apache Harmony 。Dave Tillman 说到:

Harmony 吸引我的一个特性是它的类库已经很好的按模块进行组织了,这与 OpenJDK 正好相反。例如,你会看到一个 LUNI 模块,它代表了 Lang-Util-Net-Io,这是一个 NIO 模块,诸如此类。顺便说一下,我实际上已经使用 OpenJDK 并用其在我的机器上创建了一个可运行的版本,但是后来我还是选择了 Harmony。

当我们与 Dave 交流时,他谈到了一些必要的细节:

当前 Ja.NET SE 项目只关注于 Java SE,它向.NET 提供了 Java 5 JDK。在转向更高的层次(Java EE)前,我认为需要先将 SE 部分完成,而且要正确地完成。所有的 Java 5 SE 类库都包含在了发布包中,但是其中有些功能是不完全的。要知道我做从事的工作是基于几个反潮流的项目(请查看我最新的博文以了解详细信息—— www.janetdev.org )之上的。最大的一个当属 Apache Harmony 项目。Harmony 已经为几乎所有(99.x%)的 Java 5 SE 类库开发了代码,包括 Swing、AWT 等等。同时他们还为 Java ME 和 Java 6 进行了开发。 Ja.NET SE 类库来源于 Harmony 的代码,现在我将 Harmony 的所有代码都构建到了.NET 程序集中并将其放到发布包中。但此时我们并未完成所有的工作(修改类库以将其绑定到相应的.NET/CLR 服务之上)。例如,将 Swing/AWT 绑定到 WPF 之上的工作就尚未完成。这也正是我到处寻找参与者的原因所在:-)。为了做到这一点,开发者需要利用 Harmony 提供的 Swing/AWT 代码基,将其分解然后在代码中的恰当位置上加入对 WPF API 的调用。所有的 Harmony Swing/AWT 代码已经被编译到.NET 程序集中了,他么就不再回调 WPF 了。

有很多核心的类库(反射、并发、类加载、io、nio 字符集等等)可供 Ja.NET SE 工具(编译器、程序集合并)所用。我无需对代码做任何改变就可以让 JUnit 4.3/4.5、Xerces 2.8 及 Ant 1.7.0 运行在.NET 上。当然,我还会增加更多的内容!:-)

当前 Ja.NET 可运行在 Microsoft CLR 和 Novell Mono 平台上。

查看英文原文: Java 1.5 for the .NET Platform

2008-12-18 08:042334
用户头像

发布了 88 篇内容, 共 270.5 次阅读, 收获喜欢 9 次。

关注

评论

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

macOS Sequoia 15(Macos15系统)v15.5 正式版离线安装包

Rose

CorelCAD 2023 强大 2D 绘图和 3D 设计工具集合

Rose

TiDB 发布 MCP Server:引领国产数据库迈向智能 AI 代理新应用范式

TiDB 社区干货传送门

新版本/特性发布 数据库前沿趋势 TiDB第四届征文-运维开发之旅

记一次悲观锁重试到达上限报错分析

TiDB 社区干货传送门

6.x 实践 OLTP 场景实践

前沿论文分享 | 京东零售技术团队5篇论文入选WWW 2025

京东零售技术

VMware VeloCloud SD-WAN 6.3.1 新增功能简介

sysin

velocloud

开发者为什么要选择低代码平台?附低代码工具选型与实施指南

优秀

低代码 低代码平台 低代码开发工具 低代码工具

国产化数据库替换mysql 之 TiDB 应用实践

TiDB 社区干货传送门

TiDB第四届征文-业务场景实战

Playwright 、Cypress 和 Selenium 对比

测试人

软件测试

企业如何挑选远控方案,专业远程软件哪款最安全?

科技热闻

苹果mac高效协同办公:Slidepad自动隐藏、快速搜索、多桌面支持

Rose

小鹏,用AI“赌”明天

趣解商业

华为 汽车 小鹏汽车

MES系统如何解决电机制造业自动化生产管理?

万界星空科技

mes 万界星空科技mes 制造业工厂 电机行业 电机MES

产品动态速递|Aloudata CAN 指标定义能力与查询加速能力再次增强、用户体验进一步升级

Aloudata

数据分析 指标平台 指标开发 ChatBI 智能问数

beyondcompare5永久激活密钥 及 Beyond Compare安装教程

Rose

Amadeus Pro: 专业音频编辑,Mac 用户的终极选择!

Rose

AI私有化部署的费用

北京木奇移动技术有限公司

AI技术 软件外包公司 AI私有化

跨平台的 AI 基准测试工具 Geekbench AI for mac

Rose

一键式原型、AI 辅助布局 Sketch 2025 让设计更高效

Rose

这款AI自动生成播客工具,必须收藏!

Immerse

NocoBase 本周更新汇总:增加工作流分类管理

NocoBase

开源 低代码 零代码 无代码 版本更新

2025 IoTDB 用户大会定档!7 月 5 日北京,探索下一站:DB + AI

Apache IoTDB

谷歌云代理商 | 游戏行业专属方案:谷歌云实时多人游戏服务器架构

Cloud Ace 云一

基于华为开发者空间,体验鲲鹏DevKit之Python字符串拼接系统性能分析

华为云开发者联盟

Python 鲲鹏 DevKit 开发者空间

网络安全创新论坛 | 百度大模型安全斩获“2024年十大优秀网络安全创新成果”

百度安全

SQLShift 重大更新:Oracle→PostgreSQL 存储过程转换功能上线!​​

爱可生开源社区

oracle sql postgresql 数据迁移

做数字化,ERP、MES、SCM、CRM、PLM五大系统缺一不可吗?

积木链小链

数字化转型 管理系统 智能制造

TiDB 社区助力TiDBer共同成长

TiDB 社区干货传送门

TiDB第四届征文-运维开发之旅

达芬奇调色DaVinci Resolve 20,AI 工具加速流程

Rose

信创迁移必看!X86 迁 Arm 竟能全自动适配?

北京好雨科技有限公司

arm rainbond 企业号 6 月 PK 榜 国产化迁移

AI 本地化部署的主要问题

北京木奇移动技术有限公司

AI应用 软件外包公司 AI本地化

面向.NET平台的Java 1.5_Java_Jonathan Allen_InfoQ精选文章