【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

面向.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:041047
用户头像

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

关注

评论

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

【web 开发基础】PHP 循环结构之while循环 -PHP 快速入门 (17)

迷彩

while循环 10月月更 PHP基础 循环结构

SpringMVC之文件上传

Andy

深耕稳定安全会议服务,华为云会议具备会议全球接入能力

秃头也爱科技

MyBatis面试题(部分)

Andy

MyBatis初步理解

Andy

深入浅出Python——Python高级语法之面向对象

何极光

Python 面向对象 10月月更

Java | 继承

陌上

Java 编程 10月月更

MyBatis程序基础实现

Andy

深入浅出Python——Python高级语法之文件操作

何极光

Python 文件操作 10月月更

强烈推荐!商业洞察就用这个工具

产品海豚湾

产品经理 产品设计 产品运营 商业化 10月月更

SQL的基本介绍

攻城狮Wayne

Python 数据库SQL 10月月更

19岁少年开发浏览器插件赚到10万美金

程序员陆通

程序员 赚钱 浏览器插件 出海

深入浅出Python——Python高级语法之异常、模块、包

何极光

Python 异常 模块 10月月更

投资成本低且无需专人维护!华为云会议让沟通更高效

秃头也爱科技

企业业务沟通新选择,华为云会议支持全场景智能协作

秃头也爱科技

华为云桌面——云端上“最卷的云”

秃头也爱科技

微服务架构

阿泽🧸

微服务 10月月更

Java | 数组工具类Arrays、数学工具类Math

陌上

编程 Java、 10月月更

MyBatis之关系映射(下)

Andy

BoardMix:免费在线PPT制作工具,堪称办公神器!

彭宏豪95

职场 工具 PPT 在线白板

测试架构需要具备哪些能力

老张

软件工程 软件测试 系统架构

MyBatis之Annotation

Andy

MySQL向表中添加列

okokabcd

MySQL

MyBatis之缓存机制和动态SQL

Andy

MyBatis之识别器

Andy

MyBatis之关系映射(上)

Andy

SpringMVC之拦截器

Andy

开发者新手指南:进入 Web3 前,你需要掌握哪些必备技能?

TinTinLand

区块链 程序员 开发者 编程语言 招聘

Spring整合MyBatis

Andy

2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上的元素。 实现 MajorityChecker 类

福大大架构师每日一题

算法 rust 福大大

SpringMVC 基础

Andy

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