如何使用Ja.Net实现Java
提起Java和。NET,大家都不陌生。因为它们是当今做开发的主要力量。但这却一直是两个不同的世界。其实,这两个世界不是完全分隔的,我们可以用Ja。Net来实现Java与。NET的互用性。
Ja。 Net是一个Java 1。5和。NET的接口平台,Ja。NET可视为Java之上的。NET Remoting(Microsoft 。NET Framework内的主要组件)的堆栈实作,而在Java平台上提供Ja。 NET的执行时期模块(Run time),可支持TCP/IP、HTTP等沟通管道,也可同时支持SOAP或是二进制互通协议以提升沟通效率。透过此执行时期模块,。NET与Java /J2...全部
提起Java和。NET,大家都不陌生。因为它们是当今做开发的主要力量。但这却一直是两个不同的世界。其实,这两个世界不是完全分隔的,我们可以用Ja。Net来实现Java与。NET的互用性。
Ja。
Net是一个Java 1。5和。NET的接口平台,Ja。NET可视为Java之上的。NET Remoting(Microsoft 。NET Framework内的主要组件)的堆栈实作,而在Java平台上提供Ja。
NET的执行时期模块(Run time),可支持TCP/IP、HTTP等沟通管道,也可同时支持SOAP或是二进制互通协议以提升沟通效率。透过此执行时期模块,。NET与Java /J2EE的数据类型不仅可以对应,还能进行双向的沟通。
Ja。Net的编译器基于Eclipse JDT,Eclipse JDT能够修改生成IL,也能生成Java字节码。Java一般编译每个class为一个单独文件,但是。NET不能接收分散文件,一个基于 Cecil 的工具被使用来创建更大的文件集合类似Jar文件,解决了这个问题。
另外,为了从头开始获得库支持,Ja。Net JDK 基于开源项目Apache Harmony开发。Apache Harmony是开放源码Java SE实现。为什么不选择OpenJDK呢,Ja。
Net项目负责人Dave Tillman认为Harmony的结构更加模块化,组织更加良好。
以及Ja。Net SE项目主要着重于Java SE,为。NET提供Java 5 JDK,目前SE项目已经完全完成,并且Ja。
NET SE:New Build 1。5。0已经发布。Ja。NET SE class从Harmony派生而来,但是还有一些模块没有完成与。NET/CLR服务的互联,比如AWT/Swing,这个项目正在发展中,正征集开发者贡献代码。
Ja。NET目前能够同时运行在微软CLR。收起