zoukankan      html  css  js  c++  java
  • C#和Java交互相关研究

    之前总觉得C#和Java可以交互应用,但是由于时间以及其他方面的原因,一直没有调研。今天抽空搜了一下,终于折腾出来了。

     

    以下是我自己就C#和Java整合的一些提问和分析,如果有不对的地方,请路过的各位大虾给予指出。3Q!

     

    问题来了:

    1、C#和Java如何整合?

    2、为什么C#(.Net)要和Java整合?

    3、Java和C#整合时,Java主要扮演什么角色?C#扮演什么角色?

    答案一一揭晓:

    1、C#和Java整合大致有4条路可以走。

     

      1.1 把Java包转换为DLL或者EXE后注册为com组件,之后调用;

      1.2 使用web service;(http://www.codeproject.com/Articles/32313/How-to-invoke-Java-web-service-in-ASP-net-using-C

      1.3 使用中间件;比如一个商业的中间件:http://j-integra.intrinsyc.com/;

      1.4 使用 IKVM.NET,这是一个在.net 下实现的Java VM,所以在经过一个转换后,直接跑Java的东西;

    (以上4点,是我在网上搜的)

     

       我主要说第四点:使用IKVM.NET。

      a:下载ikvm-0.40.0.1.zip;ikvmbin-0.40.0.1.zip;openjdk6-b12-stripped.zip;

    解压ikvm-0.40.0.1.zip,并将%IKVM_HOME%in添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。

      b:建立一个JavaProject,自定义包、类、需要透露给外界的方法,然后、将这个JavaProject打包成jar文件。(eclipse和myeclipse都自带的,或者你可以显摆一下,用黑框框敲几个代码整)。

      c:狸猫换太子:jar>>dll

       打开黑框框(即:win+r,cmd,进入到%IKVM_HOME%in的目录下),

    执行:ikvmc -out:dllFileNameOrPath.dll javaFileNameOrPath.jar

    此时,就会在%IKVM_HOME%in目录下或者指定的Path下,会出现一个dllFileNameOrPath.dll文件,置于你的.Net项目中,添加引用,与此同时,请将

           %IKVM_HOME%inIKVM.OpenJDK.Core.dll

      %IKVM_HOME%inIKVM.Runtime.dll

      %IKVM_HOME%inIKVM.Runtime.JNI.dll

    添加到你的.Net项目中,切记!

       其中,using 后面跟java类的包名。

     

    2、C#和Java整合,不,应该是.Net和Java整合。为啥要整合?

       在业间,有人士称,.Net开发除服务层以外的,开发速度快,效率高。而Java做后台服务,安全性、可扩展性高。所以才有牛人将两者整合。目前.Net和Java整合技术的应用,算是一个新旗帜,但目前已经被应用于实际开发了。

     

    3、正如2所说,.Net和Java整合,Java主要承担DAL,也就是和DB进行主要的交互,以及其他通信。而.Net主要承担BLL。

     

    以上是小弟的分析,如果说的不对,请各位路过大神指正!

    谢谢!

  • 相关阅读:
    括号匹配性检测C语言实现
    预处理命令--宏定义
    *运算和&运算
    retain, copy, assign以及autorelease
    自定义 一个单例
    多米音乐笔试题
    UI-自定义视图、视图控制器
    Foundation框架—集合
    Foundation框架—字符串
    Foundation框架—结构体
  • 原文地址:https://www.cnblogs.com/gc2013/p/3760928.html
Copyright © 2011-2022 走看看