QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

公链开发:深入探索与未来展望

dappweb

#区块链# 公链开发

OpenIM Bot: 用LLM构建企业专属的智能客服

AI Inception

AIGC ChatGPT LLM rag

RAG-GPT实践过程中遇到的挑战

AI Inception

AIGC GPT LLM rag

反射API与AOP:打造灵活的软件部署方案

技术冰糖葫芦

API Explorer API 文档 API 性能测试

OpenHarmony XTS认证分享

Laval小助手

423世界读书日,探索「读书艺术」与「工作技能」提升

京东科技开发者

使用RAG-GPT集成智谱AI、DeepSeek快速搭建OpenAI Cookbook智能客服

AI Inception

AIGC GPT LLM rag

API安全为什么如此难搞?

芯盾时代

网络安全 物联网 终端安全 网关 API网关

华为云IoT专家实践分享,开源如何改变物联网?

华为云开发者联盟

物联网 华为云 华为云IoT 华为云开发者联盟 企业号2024年5月PK榜

IPQ9574, IPQ9554, and IPQ5322 Chips Performance Differences -WiFi 7 Solutions Technical Analysis

wifi6-yiyi

WiFi7 ipq9574

DR6018S: Achieve 808Mbps Stable Long-Distance PTP Transmission at 1.5km with the IPQ6010 WiFi 6 Chipset

wallyslilly

IPQ6010

LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!

汀丶人工智能

人工智能 大模型 agent

使用RAG-GPT和Ollama搭建智能客服

AI Inception

GPT LLM rag Llama3

上海云管平台怎么样?客服电话多少?

行云管家

云计算 数字化 云管平台 上海

一文教你如何调用Ascend C算子

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号2024年5月PK榜

[ICLR2024]基于对比稀疏扰动技术的时间序列解释框架ContraLSP

阿里云大数据AI技术

机器学习 阿里云 Iclr

软件测试学习笔记丨Selenium 键盘鼠标事件ActionChains

测试人

软件测试

KaiwuDB 受邀出席中国智能化油气管道与智慧管网技术交流大会

KaiwuDB

#数据库

高性能MySQL实战(一):表结构

京东科技开发者

京东按关键字搜索商品API(jd.item_search)返回值技巧分享

技术冰糖葫芦

API Explorer API 文档 API 性能测试

AI日报|“蚂蚁技术日”首次对外开放 ,AI创新应用齐亮相;家教费拜拜,小度推“AI老师”学习机

可信AI进展

#人工智能

马自达EZ-6:合资模式2.0的先锋,电动化时代的领航者

Geek_2d6073

为何整个 AI 领域都朝着 AI Agents 这一方向发展?

Baihai IDP

AI LLM 白海科技 企业号 5 月 PK 榜 AI Agents

企业选择合适等保服务方案几点建议

行云管家

信息安全 等保 等级保护 等保测评

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