阅读更多

6顶
0踩

编程语言

原创新闻 IKVM.NET,有点意思的Java虚拟机

2008-03-28 09:43 by 见习记者 ray_linn 评论(1) 有9210人浏览
这里发现了一个特别有意思的dotNet开源软件-- IKVM.NET,简单的说,它就是一个Java虚拟机,让Java可以运行在dotNET CLR或者Mono CLR之上。

IKVM.NET包含以下的部分:
  1. IKVM.Runtime.dll: VM运行时和所有支持代码。它包括以下的功能: Byte Code JIT 编译器和验证器: 使用JIT将Java Byte Code编译为CIL(C中间语言)。
  2. 对象模式映射结构: 将.NET中的System.Object,System.String,System.Exception映射为java代码中的java.lang.Object, java.lang.String,java.lang.Throwable。
  3. 管理本地方法(在Classpath中)的.NET重新实现。
  4. *IKVM.GNU.Classpath.dll: 被编译的GNU Classpath版本,它是由自由软件基金会实现的java类库和一些IKVM.NET附加代码组成的。注意:这里的GNU Classpath不是IKVM.NET的一部分,但是前者被用在IK.VM.NET中。
  5. IKVM.JNI.[Mono|CLR-Win32].dll: 通过实现JNI接口管理C++汇编。作为一个可选部分,只在程序使用自己的本地库时才被用到。而对于纯java程序来讲是不会被用到的。
  6. ikvm.exe: 与java.exe很类似的启动执行程序(动态模式)。
  7. ikvmc.exe: 静态编译器,被用来编译java类和jar使其成为.NET汇编(静态模式)。
  8. ikvmstub.exe: 一个从.NET汇编生成存根类的工具,就如javap一样反编译.NET汇编。IKVM.NET了解如何存根并用实际的.NET类型引用替换对存根的引用。
  9. IKVM.AWT.WinForms.dll: 非常有限的零散AWT实现。



此项目目前正在开发,将最大化实现与JDK1.4的兼容,但是仍存在一些漏洞(尤其在Classpth API中)。
  • AWT和Swing还未有功能。
  • 安全性是IKVM平台的一个大遗漏。此问题将依靠.NET平台提供的旧有的、但功能强大的安全模式而被解决。 虽然这样,目前项目已具备能成功运行大型java项目的能力。


6
0
评论 共 1 条 请登录后发表评论
1 楼 philix 2009-07-16 23:18
玩具。挺有意思

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • IKVM 8.3.0 - Java Virtual Machine for .NET java虚拟机

    IKVM-8.3.0-prerelease.395-bin-net461 - Execute compiled Java code (bytecode) on .NET Framework or .NET Core - Convert bytecode to a .NET assembly to directly access its API in a .NET project

  • 工具箱之 IKVM.NET 项目新进展

    在各种群里经常讨论的一个事情是.NET 如何调用 Java 的实现,最常见的场景之一就是在加解密方面Java提供的密钥,C#无法解密, C#中byte范围是[0,255],而Java中的byte范围是[-128,127],由于密码生成器是java所独有...

  • .Net 利用 IKVM 调用JAVA 方法

    那天,我闲来无聊,小易跑过来找我,说能不能用C# 调用Java代码,实现接口加密。 Excuse me 告辞, 这孩子还真是初生牛犊不怕虎啊, 不过男人怎么能说不行呢,更何况是身为暖男的我。 一.环境配置.

  • java ikvm无法输入_IKVM.NET入门(1)

    IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。本文将比较详细的介绍这个工具的原理、使用入门(如何java应用转换为.NET应用、如何在java中开发.NET应用),希望能给大家...

  • ikvm java转换成dll_利用IKVM.NET将Java jar包转换成可供C#调用的dll文件

    C#可以直接引用C++的DLL和转换JAVA写好的程序。最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLLC#调用c++C#调用C++的例子网上很多,以一个C++的...

  • ikvm.net_IKVM.NET 0.44 RC3的错误修复

    它由.NET中实现的Java虚拟机和Java类库的.NET实现组成。 这主要是一个错误修复版本 ,它解决了反映cli.System.Exception内部类的问题,并修复了try / fault处理程序更改引入的验证程序回归。 ...

  • ikvm.net_NET 4.0的IKVM.NET快照

    它损害了.NET中实现的Java虚拟机,Java类库的.NET实现以及Java和.NET互操作性的工具。 此快照针对和引用.NET 4.0版,并对IKVM.Reflection进行了许多更改,其中包括针对损坏的编译器的新解决方法,这些解决方法在....

  • 用ikvm 来把java类库转换成_net类库,IKVM.NET

    软件简介IKVM.NET的是开源的基于.NET CLR 的Java虚拟机。基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持...

  • ikvmbin-8.1.5717.0 IKVM.NET

    基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持微软的.NET Framework 和 Mono。

  • 用ikvm 来把java类库转换成_net类库,IKVM.NET__Java_NET_IKVM_可以_程序__169IT.COM

    IKVM.NET的是开源的基于.NET CLR 的Java虚拟机。基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持微软的.NET ...

  • 在.NET平台运行Java程序-IKVM.NET入门

    在.NET平台运行Java程序-IKVM.NET入门http://www.webjx.com 更新日期:2006-01-08 07:39 出处:Matrix 作者: 摘要 IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。...

  • 在.NET平台上运行Java程序-IKVM.NET入门

    ====================================================== 注:本文源代码点此下载 ...ikvm.net是一个针对mono和微软.net框架的java实现,其设计目的是在.net平台上运行java程序。它包含了以下的组建:

  • ikvm.net简介

    ikvm.net是能够运行在mono和.net framework的java虚拟机。它包括了 在.net中实现的一个java虚拟机 java类库的.net实现 java和.net的互操作工具 它可以再.net中使用java库。它包括一个ikvmc可以讲java字节码转换为...

  • IKVM.NET_第五篇_用户指南_安装

    IKVM.NET 用户指南安装

  • IKVM.NET_第四篇_用户指南_概述

    IKVM.NET 用户指南概述

  • 深入理解Java虚拟机(一):Java虚拟机家族

    许多Java程序员都会潜意识地把Java虚拟机与OracleJDK的HotSpot虚拟机等同看待,也许还有一些程序员会注意到BEA JRockit和IBM J9虚拟机,但绝大多数人对Java虚拟机的认识就仅限于此了。从1996年初Sun发布的JDK 1.0中...

  • 家庭支出与收入数据数据集,根据人口统计和地理指标进行了分类,加拿大为例,适用于数据分析、机器学习

    这个数据集提供了2010年至2021年间加拿大各省的家庭支出与收入数据,这些数据根据人口统计和地理指标进行了分类。每行代表了年份(REF_DATE)、省份(GEO)以及编码后的支出或收入类型的唯一组合(COORDINATE)。以下是该数据集的关键特点及包含的列信息: 关键特点: 支出数据:家庭支出按照收入五分位数和支出类别进行分类。 收入数据:家庭收入值根据家庭类型、较年长成年人的年龄组别和收入水平细分。 地理位置匿名化:为了保护隐私,原始的地理位置标识符被替换为如“Province 1”这样的标签。 时间序列:涵盖了超过十年的财务数据(2010–2021),适合用于纵向经济和社会趋势分析。 包含的列: REF_DATE:记录年份(2010–2021) GEO:省份标签(例如,“Province 1”) Statistic:度量类型(例如,平均家庭支出) Before-tax household income quintile:税前家庭收入水平分组 Household expenditures, summary-level categories:支出类别 UOM:计量单位 COORD

  • 【锂电池剩余寿命预测】GRU门控循环单元锂电池剩余寿命预测(Matlab完整源码和数据)

    1.【锂电池剩余寿命预测】GRU门控循环单元锂电池剩余寿命预测(Matlab完整源码和数据) 2.数据集:NASA数据集,已经处理好,B0005电池训练、测试; 3.环境准备:Matlab2023b,可读性强; 4.模型描述:GRU门控循环单元在各种各样的问题上表现非常出色,现在被广泛使用。 5.领域描述:近年来,随着锂离子电池的能量密度、功率密度逐渐提升,其安全性能与剩余使用寿命预测变得愈发重要。本代码实现了GRU门控循环单元在该领域的应用。 6.作者介绍:机器学习之心,博客专家认证,机器学习领域创作者,2023博客之星TOP50,主做机器学习和深度学习时序、回归、分类、聚类和降维等程序设计和案例分析,文章底部有博主联系方式。从事Matlab、Python算法仿真工作8年,更多仿真源码、数据集定制私信。

  • 【更新至2024年】2000-2024年各省专利侵权案件结案数数据

    2000-2024年各省专利侵权案件结案数数据 1、时间:2000-2024年 2、来源:国家知识产权J 3、指标:专利侵权案件结案数 4、范围:31省 5、用途:可用于衡量知识产权保护水平

  • HMTL+JS+CSS实现贪吃蛇游戏,包含有一般模式,困难模式,还有无敌模式

    - 使用`<div>` 容器组织游戏界面,包含得分显示、游戏画布和操作按钮 - 支持三种游戏模式选择(一般模式、困难模式、无敌模式) - 移动端和桌面端兼容,提供触摸和键盘两种控制方式 2. CSS样式 : - 采用Flex布局实现页面居中显示 - 使用Grid布局实现方向按钮的排列 - 定义了游戏容器的阴影、圆角等视觉效果 - 为按钮添加了hover效果和过渡动画 3. JavaScript逻辑 : - 使用Canvas API实现游戏渲染 - 实现了蛇的移动、食物生成、碰撞检测等核心游戏逻辑 - 支持三种游戏模式,不同模式对应不同的游戏速度和规则 - 使用localStorage保存最高分记录 - 实现随机颜色生成,使游戏更具趣味性 代码整体结构清晰,功能完整,具有良好的可扩展性和可维护性。

Global site tag (gtag.js) - Google Analytics