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%\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。
以上是小弟的分析,如果说的不对,请各位路过大神指正!
谢谢!
最新文章
- VS2012+EF6+Mysql配置心路历程
- 各类坐标系相互之间的转换(84互转GC02,GC02互转BD09)
- 地址转换协议ARP
- Xcode插件开发
- ThinkPHP 的CURD 基本操作
- iOS10访问用户权限的描述key值汇总
- php递归查找指定目录下及子文件名称是否包含中文空格及括号
- JVM性能调优,GC
- ftp 发布配置
- python3csv与xlsx文件操作模块(csv、xlsxwriter)
- 数据库中关于convert的参数学习(转化函数用法)
- 让富文本编辑器支持复制doc中多张图片直接粘贴上传
- Pytorch快速入门及在线体验
- 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》
- 16 extern用法、常量字符串的应用
- java 控制流
- ZeptoLab Code Rush 2015 C. Om Nom and Candies 暴力
- selenium 各种很奇葩的异常
- 【Spring实战】—— 1 入门讲解
- [CF915F]Imbalance Value of a Tree
热门文章
- SQL Join简单介绍
- postman自动生成签名
- bWAPP练习--injection篇之HTML Injection - Reflected (POST)
- 01-学前入门.Net 能做什么
- FastReport.Net使用:[29]调用存储过程1
- EventBus机制 handler 区别
- luoguP3714 [BJOI2017]树的难题 点分治
- [BZOJ4817][SDOI2017]树点涂色(LCT+DFS序线段树)
- bzoj 1098
- sqlserver -- 学习笔记(二)“SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问”解决方法