网站大量收购闲置独家精品文档,联系QQ:2885784924

在应用中调j用ava程序.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在.net应用中调用java程序 本例主要是介绍利用C#程序调用已经写好的JAVA程序. 很多时候我们不可避免的要用到别人写的东西.就拿我来说.很多应用是用.NET写的.也有很多程序是用JAVA写的.这就带来了很多麻烦,有时候要实现同样的功能,必须写两遍代码. 那么我们有没有办法让C#直接调用java写好的东西呢?(java直接调用.net的程序也是可以的). 这里需要提到的就是IKVM.NET开源程序.这个开源程序不想过多的介绍.说多了也没有太多的意义,有兴趣的朋友可以深入研究.他的源代码可以到/project/showfiles.php?group_id=69637去下载. 简单的介绍一下 IKVM.NET 还是有必要的. IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。它包含了以下的组建: * 一个用.NET实现的java虚拟机 * 一个java类库的.NET实现 * 致力于在java和.NET之间交互的工具 还要说一下我们将要用到的IKVM.NET中我们将要用到的部分. ?* IKVM.Runtime.dll: VM运行时和所有支持代码。它包括以下的功能: ?? Byte Code JIT 编译器和验证器: 使用JIT将Java Byte Code编译为CIL(C中间语言)。 ?? 对象模式映射结构: 将.NET中的System.Object,System.String,System.Exception映射为java代码中的 java.lang.Object, java.lang.String,java.lang.Throwable。 管理本地方法(在Classpath中)的.NET重新实现。 * IKVM.GNU.Classpath.dll: 被编译的GNU Classpath版本,它是由自由软件基金会实现的java类库和一些IKVM.NET附加代码组成的。注意:这里的GNU Classpath不是IKVM.NET的一部分,但是前者被用在IK.VM.NET中。 * IKVM.JNI.[Mono|CLR-Win32].dll: 通过实现JNI接口管理C++汇编。作为一个可选部分,只在程序使用自己的本地库时才被用到。而对于纯java程序来讲是不会被用到的。 * ikvm.exe: 与java.exe很类似的启动执行程序(动态模式)。 * ikvmc.exe: 静态编译器,被用来编译java类和jar使其成为.NET汇编(静态模式)。 * ikvmstub.exe: 一个从.NET汇编生成存根类的工具,就如javap一样反编译.NET汇编。IKVM.NET了解如何存根并用实际的.NET类型引用替换对存根的引用。 * IKVM.AWT.WinForms.dll: 非常有限的零散AWT实现。 安装IKVM直接把文件解压到某目录就可以了. 下面就看我们的示例: // *********************************************************************** // // .NET中使用JAVA的例子 // //? Copyright ? 2007 WWW.JRGZ2008.COM // All Rights Reserved // This library is free software; you can redistribute it and/or // modify it under the terms of the Apache Software License as // published by the Apache Software Foundation; either version 1.1 // of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // Apache Software Foundation Licens for more details. // // // **************************************************************

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档