C#和Java交互整合

问题来了:

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。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
译文: <C#.NET 开发者指南> 前言 在电脑软件的历史上,很少有一种技术能够得到开发者和业界如此强烈的正面响应。全球已经有数百万的开发者下载了Microsoft的.NET软件开发工具包,已经出现了很多有关.NET平台及其相关技术和语言的教材、网站和新闻团体。 Microsoft在创建.NET上已经投入了数十亿美元进行了多年的研究。.NET是一种全面的策略,它由操作系统、数据库服务器、应用程序服务器和.NET运行时库组成,还包括运行于.NET平台之上的操纵语言。 很多人把.NET平台看作先前所说的Windows DNA的实际实现,也有人把它看作是改进先前技术和语言的结果。然而,这些仅仅说明了.NET是对Microsoft以前技术的重大改进。其实.NET平台是从头开始设计的,包括许多内在目标,如安全性、可升级性、可靠性、灵活性和互操作性。为了使.NET平台适合于企业和开发者,所有这些目标从一开始就被考虑到了。 NET平台呈现了Microsoft思想的重大转变。建立.NET平台时,Microsoft表现出对开放标准极大的支持,如XML、SOAP和UDDI,而不是建立自己的标准和技术。而且.NET平台的核心部分(Common Language Infrastructure, CLI)和C#规范都已提交给ECMA,并通过了标准化。 C#来源于C和C++,是一种简单的、现代的、面向对象和类型安全的编程语言,由Microsoft的Anders Hejlsberg专门为.NET平台开发的语言,继承了许多语言的特征,如C、C++和JavaC#是为了综合Visual Basic的简单和C++作为面向对象语言的功能强大的优点而写的,对于开发者来说,C#使企业应用程序的创建、调试和配置变得很容易。有人预言,C#将成为在.NET平台上开发应用程序最受欢迎的语言。 作为Visual Studio IDE的下一个版本,Visual Studio.NET也是.NET战略的关键组成部分。Visual Studio.NET IDE也已经被整合并装入了大量的新功能。位图编辑器、调试器、Web窗体设计器、Windows窗体设计器、Web服务设计器、XML编辑器、HTML编辑器、Web浏览器、服务器资源管理器和多语言支持,所有这些都被集成在IDE中。 C#.NET Web开发指导的重点不是教你C#语言的核心内容,而是提供代码实例来帮助你使用.NET框架类库的功能。基础类库的.NET框架集合覆盖了大量API。尽管不可能在一本书中包含所有的特征,但是本书中包含了其中的关键思想、类库和.NET框架的API,希望本书能够帮助你容易地使用C#创建新的应用程序。 既然有这么多特征要学习和掌握,那就不要再等待了,咱们现在就开始吧! 第一章 微软.NET平台的介绍 C#全文共15页,当前为第1页。简介 C#全文共15页,当前为第1页。 Microsoft在创建.NET上已经投入了数十亿美元并进行了多年的研究,并且将极大可能考虑把它作为新兴的标准。许多微软的伙伴也宣布支持NET工具和部件——你可以浏览http://msdn.microsoft.com/vstudio/partners上的供应商表来查看。 .NET平台能提供强大的新服务,新的独立于处理器的二进制格式,新的管理语言,现有的语言扩展的管理语言,这样的例子不胜枚举。没有良好的操作背景是不可能有效地使用这些新工具的来运行你的应用程序。在这一章中,我们来看一看.NET平台的各个组成部分。我们不仅介绍他们的技术和概念,而且还要用专业术语去解释它们。这将使你对.NET平台的内部工作有一个深入的了解,并在接下来的章节中能有更多的收获。 .NET平台简介 .NET平台的所处的背景是:世界正在从个人电脑连接到一个服务器(比如互联网)中改变到一个地方的所有职能设备、电脑和服务协同工作中能为用户提供更丰富的体验。.NET平台是微软为软件开发人员给这种改变提供的解答。.NET平台到底有几个组成部分,每个人都会给你不同的答案。比如微软的商务对话和结构化查询语言以及.NET中的我的服务,它们中的第一个可见组件.NET通行证通常被视为.NET平台的有机组成部分。然而,对很多人来说,.NET框架是当.NET被提到时我们想象中的样子。它包括VS.NET,.NET公共语言库(CLR)和.NET基类库(BCL)。其他组件可能会要求特定的应用,但它们不是所有.NET应用程序的必要组成部分。 下面来看.NET的整体结构,它由这几个个主要部分组成: .NET框架 一个全新的应用开发平台。 几个.NET产品 多重基于.NET框架的应用,包括新版本的并由可扩展标记语言(XML)在.NET平台上的集成交互和结构化查询语言(SQL)服务器。 几种.NET服务 它是
C知道:学习C#还是Java这个问题没有简单的答案,因为选择取决于你的具体需求和兴趣。这两种编程语言都是非常流行的,并在各自的领域中有广泛的应用。下面是一些考虑因素,希望能帮助你做出决策: 1. 语言特性:C#是微软开发的一种编程语言,主要用于开发Windows应用程序和游戏开发。它的语法和Java相似,但也有一些不同之处。Java是一种跨平台的编程语言,适用于开发各种应用程序,包括Web应用、移动应用和企业级应用。 2. 就业市场:就业市场上,C#Java都有很高的需求。C#在游戏开发、Windows应用程序和企业级应用中有广泛应用,而Java则在Web开发、移动应用和大数据领域中占有重要地位。你可以根据你所在地区和感兴趣的行业来评估两者的就业前景。 3. 学习资源和社区支持:C#Java都有丰富的学习资源和活跃的开发者社区。你可以通过在线教程、书籍和论坛来学习和解决问题。考虑到你的学习风格和喜好,选择一个有足够学习资源和社区支持的语言可能更有帮助。 总的来说,选择学习C#还是Java要根据你的需求和兴趣做出决策。如果你对Windows开发或游戏开发感兴趣,那么学习C#可能更有意义。如果你想在Web开发、移动应用或大数据领域发展,那么学习Java可能更合适。最重要的是,选择一门语言后要持续学习和实践,这样才能在编程领域取得进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值