[IT科技] Java vs. C# JAVA和C#的技术比较发表于 @ 2009-6-8 18:00:26
本文不是评价两种开发语言的好坏,仅仅是做一个对照表,帮助初学者不会迷失在 Java 世界的词汇海洋中。
1. Java : C# Java 只是一种语言,和 C# 一样并不代表某种平台或环境。IBM、Sun 都开发了自己的 Java 环境,包括编译器、虚拟机等等。同样,C# 也可以在 Mono/Linux 下进行开发。 2. JRE : .NET Framework JRE 包含执行 Java 程序所需的虚拟机以及运行库,与之对应的就是包含 CLR 的 .NET Framework。 3. J2SE : .NET SDK J2SE 包含 Java 开发所需的编译器、类库以及其他相关工具,.NET 将这部分称之为 .NET SDK。我们并不一定需要 Vistual Studio.net、Eclipse之类的IDE开发工具,直接用写字板配合 SDK 也可以进行开发。 4. J2EE : J2EE 是基于 J2SE 的一种扩充,包含用于企业级应用开发的组件、扩展类库、框架以及配套的行业开发标准。J2EE 是 WEB、EJB、JMS等内容的组合,Microsoft 并没有明确提出这样的组合结构,不过与 J2EE 相对应内容大多齐备。见下。 5. J2ME : .NET Compact J2ME 是用来进行移动应用开发的精简版类库和框架,Microsoft .NET Compact 与其作用相同。 ------------ 6. WEB 容器 : IIS 作为EJB的两种容器之一,最常用的WEB容器就是tomcat和Resin,他们被用来运行 JSP/Servlet/JavaBean 等。IIS 自然也是一种 ASP.NET 的 Web容器了。 7. EJB 容器 : COM+ EJB 容器是用来运行 EJB 组件的环境,为这些组件提供对象池、事务管理等操作。这些概念想必你很熟悉,没错就是 COM+ 。 Java 常用的 EJB 容器包括:JBoss、WebLogic、WebSphere、Sun java Application Server。其中某些产品还同时包含Web容器。 8. JMS : Message Queue 一种消息服务,两者功能基本相同。 9. RMI : .NET Remoting Java 使用 RMI 来进行远程 RPC 调用,.NET Remoting 恐怕有偷师嫌疑。 10. JavaBean : Component JavaBean 是用于客户端的一种进程内可复用组件标准,.net 所有这类组件都继承自 Component,比如 WinForm/WebForm 上的大量可视控件和非可视组件。 11. Enterprise JavaBean : EnterpriseServices 上面已经提过Enterprise JavaBean了,.net 提供了 EnterpriseServices 名字空间用来开发运行于 COM+ 环境的企业服务组件。 12. JavaApplet : ActiveX Java Applet 是一种嵌入网页在客户端浏览器执行的小程序,和 Microsoft ActiveX 技术很相似。不过 Applet 运行于安全的“沙箱”,因此安全性好比 ActiveX 强,正因为这样 Applet 也不能实现很多 ActiveX 的功能。 13. JSP/JSF : ASP.NET JSP 有大量基于 Servlet 的 Web 框架,而最象 ASP.NET WebForm 的恐怕是 JavaServer Face。不过 Struts 目前使用得最多。 14. Servlet : ISAPI Servlet 是用来开发 Java Web Project 的一种技术,JSP/Struts 等框架都是基于此技术开发的。与之对应的就是 ISAPI,ASP.NET 的宿主环境其实也是基于 ISAPI 的,那个 aspnet_wp.exe 进程想必大家很熟悉。 15. Servlet Filter : HttpHandler / HttpModule Servlet Filter 被称之为过滤器,用来在 Servlet 之前进行一些预处理,ASP.NET 中这些功能可以使用 HttpHandler / HttpModule 来实现。 16. AWT/Swing : WinForm AWT 和 Swing 是 java 平台进行桌面 GUI 开发的标准和组件库,不过比起 WinForm 来我觉得还是差那么一点,毕竟开发桌面程序一直是 java 的弱项。 17. JDBC/JDO : ADO.NET JDBC 是 Java 开发数据库应用的标准,JDK 提供了相关的操作类库(JDO)。至于 ADO.NET 我就不多说了。 18. Hibernate : NHibernate Hibernate 是基于 Java 平台的 ORM 解决方案,目前使用非常广泛。现在已经有移植到 .NET平台的 NHibernate 版本了。 19. Spring : Spring.NET Spring 是一种基于IOC模型的轻量级开发框架,被视为可以替代EJB的解决方案。目前已经有人将其移植到 .NET 平台,称之为 Spring.NET。 关联内容 |