IKVM.NET 7.0业已发布

IKVM.NET项目是对Mono和Microsoft.NET的Java实现,最近发布了7.0版本。这个项目是由Jeroen Frijters开发的,设计初衷是为了架起JVM和.NET平台之间的桥梁。IKVM.NET提供了在.NET上运行Java应用程序的功能,并支持微软的.NET框架和Mono 2.0。

IKVM.NET项目由以下组件构成:

.NET中实现的Java虚拟机

对Java类库的.NET实现

让Java和.NET可互操作的工具

最新的版本中增加了多项新特性,包括专注于互操作的支持,这是基于OpenJDK 7 b147和Java 7 JVM的变更做出的。与上次发布的版本相比,此次做出的改善包括:

  • 在静态编译代码上的Java注解现在会返回为java.lang.reflect.Proxy对象,从而与假设总是如此的代码保持兼容。
  • 增加了从java.lang.reflect.InvocationHandler到ikvm.runtime.Delegates的托管转换(delegate conversion)。
  • 对构建和JNI代码的变更,以针对Windows x86和x64版本的本地dll使用不同的名称。
  • 保留ikvmc编译代码使用的反射字段(这并不是必须的,只是为了与之前被破坏的代码保持兼容)。
  • java.lang.AutoCloseable和System.IDisposable之间的互操作。
  • 修正了append模式中的java.io.FileOutputStream,以使用原子级的append。
  • 为ikvm.exe增加了-Xnoglobbing选项。
  • 实现了双堆栈(dual stack)sockets(仅对Windows Vista及以上版本)。
  • 实现了MBean服务器。
  • 实现了SocketChannel.sendOutOfBandData()。
  • 实现了DatagramChannel的multicast方法。
  • 删除了从System.Security.VerificationException向java.lang.VerifyError的映射。
  • IKVM.Reflection: 多项改善,以支持大部分托管的PE功能。(比System.Reflection.Emit要强大很多)。

发布声明声称,这个版本已经在Windows下通过了32位和64位的.NET Framework 2.0 SP2和.NET 4.0的测试。

查看英文原文:IKVM.NET 7.0 Released

译者 侯伯薇 是InfoQ中文站架构社区编辑,有多年对日和国内项目开发经验,目前关注企业中技术与实际业务之间的融合和协作。

This entry was posted in 未分类. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s