对ms的dotnet略知一二。现在接触java,想先弄清一个最基础也是最困扰的问题。
   大家都知道,dotnet是基于.net framework来运行的。对于dotnet程序来说,只有版本的不同(当然抛开平台的因素,假设都在windows平台下),如.net framework1.0, 1.1,2.0,3.0等。只要我装一个,那么程序的运行环境CLR和类库都有了。
    我再使用一个开发工具IDE就可以了,比如vs studio 2005。
    然后程序如果是winform的,那么服务器客户端都得有.net framework。如果是asp.net,服务器端有.net framework,配好IIS就可以了。    那么对于java来说,由于名词太多了,都搞不懂是什么关系了。而且,使用时该如何使用,哪些是必须的,哪些可以省略都搞不清。可是,又没有那么多时间都去一个个摸索。所以,请专家们仿照描述dotnet的方式,描述一下我听说过的这些java里的名词都指的是什么吧。    j2se/j2me/j2ee
    ejb/spring/eclipse/netbeans/structs/hibernate  也许还有。我大概知道java有许多的类库,但目前只知道,java就语言来说也许相当与dotnet的c#。
    jvm相当于dotnet的CLM。jdk相当于.net framework。    可是,我不明白的是,又有其他许多也叫框架的东西,和jdk是个什么关系,是必须在jdk的基础上才可以使用?     java的程序运行时,如果是winform的程序,服务器端和客户端除了jdk外也是都必须装所有的框架吗?
      还听说过许多叫中间件的东西,那又是什么东东啊?

解决方案 »

  1.   

    关键是Java是开源的,而.NET不是,你是不可能看到.NET的源代码的,微软出来什么东东你们就得用什么,而Java却有很多的选择顺便一句,Java已经不仅仅是一种语言了,而是个平台可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。框架不仅仅只Java有的,.NET也有啊,只是比.net要少些罢了中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间
      

  2.   

    java的框架为什么比.net少?
    我不觉得
      

  3.   

    我也不是太懂,了解一点,随便说说
    j2se-一般用于手机开发
    j2me-就是coreJava啦
    j2ee-主要面向企业级的大型项目,是一个技术体系
    eclipse/netbeans-java的开发工具,就是IDE啦   
    ejb-主要是远程方法调用,多用于不同企业之间
    spring-Java的框架,主要是ioc(依赖注入)和aop(面向切面编程)
    structs-Java的框架,提供表单的封装,MVC模式
    hibernate-Java的框架,相当于jdbc,对象关系映射,比较好用
      

  4.   

    j2se-一般用于手机开发
    j2me-就是coreJava啦
    _______________________写反啦,两个换一下。
      

  5.   

    没有学过 .NET,没有办法帮你进行映射对比。
      

  6.   

    chriscomy() ( 一级(初级)) 信誉:100  多谢,大体明白了一点,但还是有个关键问题没有解决,java区就没有人愿意或者能够解答吗?
      

  7.   

    我真的没有说清楚吗?1  java中那么多叫框架的东西,和jdk是个什么关系,是必须在jdk的基础上才可以使用吗?2  如果是winform的程序,服务器端和客户端都必须装jdk吗?其他的框架也必须装吗?3  还听说过许多叫中间件的东西,那又是什么东东啊?dotnet中就没听说过有中间件这么个东西。
      

  8.   

    没用过.net平台,也没接触过.net平台的东西。
    但是,可以就我所知道的关于Java的只是,和你一起探讨一番。
    首先谈到的是Java语言,从Java语言的1.2版本以后,就称为Java2了。
    其次是按Java语言的应用范围,Java分为j2se/j2me/j2ee三类。J2SE是Java的标准版,也就说它所包含的内容是标准Java所包含的所有内容。用于初学者学习和掌握Java语言,以及相关的基础方面的研究讨论。J2ME应用于手机等一些计算能力相对较窄的设备。J2EE是企业版的Java,它的研发面向的是企业应用。
    Java不同于.net平台,他的很多东西都是开源的。所以,才会出现因应用不同而产生三个分类。就语法而言,三个分类的区别不大。J2SE最简略(只是听说,没有用过),然后是J2SE,他是基础,最后是J2EE,语法上面与J2SE没有多大的差别。
    可能三者最现实的差别可能在于他们的虚拟机支持的功能范围不同吧。
    现在比较热门的,一般都是在讨论J2EE,我不知道.net方面,对于一个企业级的大型应用程是怎么开发的。他的系统架构是怎么样的。因为,这些代码都没有开放,所以,对于一个大型软件,他的架构是什么样的,就没有讨论的基础了。
    而Java是开源的,所以,对于一些大型软件系统的架构,我们就有了讨论的空间。并且,也有些公司专门从事开源项目的开发,使得其他的软件开发人员,只要使用他们的软件架构,再添加一部分具体的内容,就可以创造出一款软件。
    在这方面,基于B/S结构的软件系统架构,比较出名的就是Struts架构了,他将服务器端的程序分成三个层次(表现层,业务逻辑处理层,数据持久层)。
    而Hibernate所作出的贡献在于,他把数据库当中的数据直接映射到了类所对应的对象中,当准备工作(配置Hibernate)完成以后,程序员不必关心程序于数据库是怎么交互的。只要关心对象的操作就好了。他搭起了业务逻辑处理于数据库操作之间的桥梁,将数据库操作封装起来,是程序员尽量少的关心数据库方面的事情。
    至于EJB嘛,解释起来太麻烦了,你就知道,他是应用于大型企业的项目当中去的就行了。
    接下来,就要介绍IDE了,eclipse和netbeans就是两个典型的IDE开发环境,你可以使用这两个的其中一个进行Java方面的开发工作。当然eclipse要安装MyEclipse插件才能开发J2EE。
    运行Java程序,只需要相应的Java虚拟机就可以了。JDK是Java的开发包,其中包含了Java开发过程中经常用到的类库等一些东西。当然JDK当中肯定要有Java虚拟机了。但是,不要理解成java程序是跑在JDK上的。
    不知道我这样解释,你还清楚吗?当然,我的解释也可能有不对或不准确的地方,那就要请大家看了以后,帮我更正。