- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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.
//
//
// **************************************************************
您可能关注的文档
最近下载
- 自然辩证法-考试题库.doc
- 妇产科会阴擦洗冲洗护理技术.pptx
- 工程安全应急与响应预案.docx VIP
- Roland罗兰乐器JUNO-Gi 带数字录音功能的便携合成器JUNO-Gi Workshop 04 Realtime Control in the JUNO-Gi支持文档.pdf
- 《压疮压力性损伤的预防和治疗临床实践指南》解读.docx VIP
- 无热吸附式干燥机.doc
- 超星网课《中国古典小说巅峰-四大名著鉴赏》超星尔雅答案2023章节测验答案.doc
- 颊针疗法(基础篇).pptx
- 班会育人-心理健康课件——家校社协同育人,共创美好未来.pptx
- 同桌小伙伴(教学设计)-2024-2025学年岭美版(2024)美术一年级上册.docx VIP
文档评论(0)