基于.NET的Java虚拟机IKVM介绍

2019-02-14 14:50:45 浏览数 (1)

基于.NET的Java虚拟机IKVM介绍

??? ?IKVM的定位是基于.NET CLR的Java虚拟机。 ?这是一个开源的项目,主页地址:IKVM

基于.NET的Java虚拟机意味着什么?意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作

更难能可贵的是,IKVM同时支持微软的.NET Framework 和 Mono。

IKVM的技术特性包括:

1、 可以静态和动态(运行时)把Java的字节代码转换为.NET 的IL形式;

2 、包括了一个Java的标准库,这个标准库已经静态编译成了.NET IL的形式;

3 、提供力JNI 接口,可以让Java程序通过.NET 或者 Mono 访问本地资源。

4 、提供了一个供Java调用.NET 类的Stub。

?

IKVM现在可以提供对JDK 1.4很好的支持。

IKVM目前不成熟的地方在以下几个方面:

1 对AWT和Swing没有提供支持,在IKVM的开发计划中,这项优先级别不高。

2 对Java的安全模型没有实现。

?

一般来说我们可以在一下3种情况下使用IKVM:

1 直接在IKVM下运行Java程序,比如:

????????????? ikvm -jar myapp.jar<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

2 用IKVM来把Java类库转换成.NET类库,比如:

ikvmc -target:library mylib.jar ?可以生成: mylib.dll

????? 3 使用ikvmstub 来用Java开发.NET程序。

?

一些和IKVM项目相关的资料:

  • MonoDevelop: A Mono IDE with IKVM Support
  • GNU Classpath: The Free Java Library Project
  • Microsoft's J# for .NET

原创作品

田春峰

2004-8-22

写了一个C#代码生成器~

Discuss this Interview In the past we have done hard core tech talks which have been product and vendor agnostic..... We have had a lot of interest in getting more talks which DO go into some details on products. This is why we have started a new type of tech talk, named "Vendor Perspectives" http://www.theserverside.com/talks/VendorPerspectives/Mainsoft/interview.tss

0 人点赞