基于.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