之前总觉得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%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。

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

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

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

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

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

%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll

  %IKVM_HOME%\bin\IKVM.Runtime.dll

  %IKVM_HOME%\bin\IKVM.Runtime.JNI.dll

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

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

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

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

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

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

谢谢!

最新文章

  1. VS2012+EF6+Mysql配置心路历程
  2. 各类坐标系相互之间的转换(84互转GC02,GC02互转BD09)
  3. 地址转换协议ARP
  4. Xcode插件开发
  5. ThinkPHP 的CURD 基本操作
  6. iOS10访问用户权限的描述key值汇总
  7. php递归查找指定目录下及子文件名称是否包含中文空格及括号
  8. JVM性能调优,GC
  9. ftp 发布配置
  10. python3csv与xlsx文件操作模块(csv、xlsxwriter)
  11. 数据库中关于convert的参数学习(转化函数用法)
  12. 让富文本编辑器支持复制doc中多张图片直接粘贴上传
  13. Pytorch快速入门及在线体验
  14. 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》
  15. 16 extern用法、常量字符串的应用
  16. java 控制流
  17. ZeptoLab Code Rush 2015 C. Om Nom and Candies 暴力
  18. selenium 各种很奇葩的异常
  19. 【Spring实战】—— 1 入门讲解
  20. [CF915F]Imbalance Value of a Tree

热门文章

  1. SQL Join简单介绍
  2. postman自动生成签名
  3. bWAPP练习--injection篇之HTML Injection - Reflected (POST)
  4. 01-学前入门.Net 能做什么
  5. FastReport.Net使用:[29]调用存储过程1
  6. EventBus机制 handler 区别
  7. luoguP3714 [BJOI2017]树的难题 点分治
  8. [BZOJ4817][SDOI2017]树点涂色(LCT+DFS序线段树)
  9. bzoj 1098
  10. sqlserver -- 学习笔记(二)“SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问”解决方法