java

位置:IT落伍者 >> java >> 浏览文章

是否能让JAVA和.NET框架共存?[3]


发布日期:2022年12月07日
 
是否能让JAVA和.NET框架共存?[3]

NET和JAVA的整合

无论从商业角度还是开发者角度甚至是源码开放组织的角度NET和JAVA的整合都显得很有必要下面就二者的整合做出一个提前的估计(所有的相关项目被分为ABC三个组以便于看清它们之间的关系当然这些项目也完全可以被独立的操作)

JVM to CIL compiler (Group A)

Java API bridge for NET API and lib (Group A)

Java compiler for CLI (Group A)

CLI ports for Palm OS Linux and Solaris (Group B)

NET API and lib bridge for Palm OS API (Group B)

NET API and lib bridge for POSIX (Group B)

CIL compiler to JVM (Group C)

NET API and lib bridge for Java API (Group C)

C# compiler for JVM (Group C)

A组的项目

该组项目的主要目的是使现有的JAVA二进制代码能够在NET平台上被执行这意味着JAVA的二进制码(后缀为class的文件)不用再从源代码进行重编译就能运行于NET平台了当然这些class文件在安装或执行时会被编译就好象微软的运行时和JIT对微软中间语言所做的那样

JVM to CIL compiler

一个编译器输入JAVA字节码输出MSIL代码——它将被编译为可执行文件(如EXEDLLMSI等)Java API bridge for NET API and lib在这里JAVA API与每一个相应NET API之间将建立一个映射比如Java API中的javaioFile将被映射到NET的SystemIOFile类相对于比较简单的IO类的映射还有一些映射比较复杂比如javanet包到NET的SYSTEMNET的映射这里存在的一个问题是该项工作如果在C#中进行开发会比较方便而假如在JAVA中实现则需要有一个直接指向CLI(Common Language Interface)的编译器它能生成符合CLS(Common Language Specification)标准的CIL(Common Intermediate Language)代码

可以通过编写一个向导式的工具来避免一些烦琐的工作例如可以利用C#或JAVA来编写一个基于XML格式的对象描述用它生成一个框架代码然后根据需要向其中手写添加其他代码如果你确实打算进行这样的操作在http://xmlapacheorg站点你可以找到很多有用的资料微软的过时的JAVA SDK中也有类似的工具可供参考——一个用来生成Jdirect(JDirect was the Microsofts hack for implementing native interfaces)代码的工具利用它可以实现访问本地WIN APISDK中有该工具的源代码顺便提一句由于这里涉及到微软的一套独特的JAVA扩展标记因此SUN和微软一直就此问题打着官司

Java compiler for CLI

它将JAVA源代码(使用NET框架API)编译为可执行文件的格式如EXEDLL等这个工作是在最高的层面上对JAVA和NET框架进行整合这将为今后直接利用JAVA在NET框架下创建应用打好基础

对现有JAVA编译器的代码生成部分重写将是此项工作一个比较便捷的解决方案就我个人的意见SUN会根据开放源代码的标准开发这样的一套编译器当然这样的一些改造计划需要对一些JAVA类进行调整

[] [] [] []

               

上一篇:是否能让JAVA和.NET框架共存?[1]

下一篇:是否能让JAVA和.NET框架共存?[2]