置顶随笔

         Java自1996年正式发布以来,经历了初生、成长和壮大的阶段,现在已经成为IT领域里的主流编程语言。
        Java发展历史

                      1995 Java语言诞生。
                      1996 JDK1.0发布,10个最主要的操作系统供应商申明将在其产品中支持Java技术。
                      1997 JDK1.1发布。
                       1998 JDK1.1下载量超过200万次,JDK1.2(称Java2)发布,JFC/Swing技术发布, JFC/Swing被下载了50多万次。
                      1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生。
                       2000 JDK1.3发布, JDK1.4发布。
                       2001 Nokia公司宣布到2003年将出售1亿部支持Java的手机,J2EE1.3发布
                       2002 J2SE1.4发布,自此Java的计算能力有了大幅度提升。J2EE SDK的下载量达到200万次。
                       2003 5.5亿台桌面机上运行Java程序,75%的开发人员将Java作为首要开发工具。
                       2004 J2SE1.5发布,这是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。 
                       2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME

       C#语言是Microsoft近几年新推出的一种纯面向对象的语言。在1996年以前把重点主要放在了C/S架构的系统。但是随着互联网的出现和发展,B/S架构系统逐步升温,Microsoft也看到这一点,但是SUN公司的J2EE已经在这一方面占领了市场,所以Microsoft公司自从1996年开始由著名架构师
Anders Hejlsberg 领导C#语言的开发工作,并在微软 .NET 框架中扮演了重要的角色。直到Microsoft正式发布了 Microsoft Visual Studio .NET 2003 ,现在发展到.NET 20005,我们可以看到Microsoft公司的野心,想吞并整个市场,打败JAVA。
     Java之所以直到现在没有Microsoft打垮,应用如此广泛是因为Java具有多方面的优势。其特点如下:
(1)面向对象。Java自诞生之时就设计成面向对象的语言,而C++语言是一种强制面向对象的语言。面向对象可以说是Java最重要的特性,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码重用。
(2)跨平台。对于Java程序,不管是Windows平台还是Unix平台或是其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
(3)直接支持分布式的网络应用。除了支持基本的语言功能,Java核心类库还包括一个支持HTTP、SMTP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。在Java出现以前,为分布式环境尤其是Internet提供动态的内容无疑是一项非常宏伟、难以想象的任务,但Java的语言特性却使我们很容易地达到了这个目标。
(4)安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。Java 支持自动内存管理,这不但让程序员减轻许多负担,也减少程序员犯错的机会。Java自己操纵内存减少了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。
   C#语言比Java出现大概晚了4-5年的时间,所以C#语言在设计上吸取了Java和C++的优点。我们从一下几个方面讨论一下他们之间的区别和联系:
   1) 基本语法:
              Java语言的基本的数据类型和C#一样,但是Java把每种基本数据类型都对应一个Java封装类(String 特殊),所有的类都有一个父类Object,,Object是Java的总根。而C#语言每种基本数据类型的父类都是Object,Object也是C#的总根。   
               Java中的常量是以final关键字进行声明,C#中是以const关键字进行声明。
               Java中的运算符,表达式,数组和C#是一样的。
               Java中的选择语句有if.......else ,Switch case两种,C#也是存在这两种,但是Switch case语句比Java 的功能增强了 。
                Java,C#中的循环语句主要有 while,do.....while,for 循环,C#中还有foreach循环,Java在1.5中新增了for in循环。
               Java中没有结构,在 1.5中新增了枚举,而C#有结构和枚举。
2)   面向对象:
              Java和C#都是纯面向对象的语言,我们都知道面向对象几大特点:封装,继承,多态。
         封装:封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
        继承:继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二。
       多态:同一方法在不同的子类中有同一种实现。

     
       在JAVA中,最基本的封装单元是类,和类同一级别的还有接口,说道这里我们应该从JAVA的设计说起,Java语言是为小型的设备设计,最初是应用于机顶盒,所以Java觉得用类就足够了。

       在C#中,最基本的封装单元是类,和类同一级别的还有接口,事件,委托。因为C#从设计的出发点就是PC系统,所以C#,还引入了命名空间(namespace),一个namespace可以包括很多的Class。
        因为Java和C#从设计的出发点不同,所以二者之间有很多区别。从现在的发展看来,我觉得C#的设计要比Java好。
        先写到这儿吧,有时间说一下C#的事件和委托,把Java和C#事件对比一下。
        以上是个人总结,如有错误之处请大家指正。

posted @ 2006-08-25 01:03 小丁 阅读(932) | 评论 (0)编辑 收藏

2006年8月25日

         Java自1996年正式发布以来,经历了初生、成长和壮大的阶段,现在已经成为IT领域里的主流编程语言。
        Java发展历史

                      1995 Java语言诞生。
                      1996 JDK1.0发布,10个最主要的操作系统供应商申明将在其产品中支持Java技术。
                      1997 JDK1.1发布。
                       1998 JDK1.1下载量超过200万次,JDK1.2(称Java2)发布,JFC/Swing技术发布, JFC/Swing被下载了50多万次。
                      1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生。
                       2000 JDK1.3发布, JDK1.4发布。
                       2001 Nokia公司宣布到2003年将出售1亿部支持Java的手机,J2EE1.3发布
                       2002 J2SE1.4发布,自此Java的计算能力有了大幅度提升。J2EE SDK的下载量达到200万次。
                       2003 5.5亿台桌面机上运行Java程序,75%的开发人员将Java作为首要开发工具。
                       2004 J2SE1.5发布,这是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。 
                       2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME

       C#语言是Microsoft近几年新推出的一种纯面向对象的语言。在1996年以前把重点主要放在了C/S架构的系统。但是随着互联网的出现和发展,B/S架构系统逐步升温,Microsoft也看到这一点,但是SUN公司的J2EE已经在这一方面占领了市场,所以Microsoft公司自从1996年开始由著名架构师
Anders Hejlsberg 领导C#语言的开发工作,并在微软 .NET 框架中扮演了重要的角色。直到Microsoft正式发布了 Microsoft Visual Studio .NET 2003 ,现在发展到.NET 20005,我们可以看到Microsoft公司的野心,想吞并整个市场,打败JAVA。
     Java之所以直到现在没有Microsoft打垮,应用如此广泛是因为Java具有多方面的优势。其特点如下:
(1)面向对象。Java自诞生之时就设计成面向对象的语言,而C++语言是一种强制面向对象的语言。面向对象可以说是Java最重要的特性,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码重用。
(2)跨平台。对于Java程序,不管是Windows平台还是Unix平台或是其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
(3)直接支持分布式的网络应用。除了支持基本的语言功能,Java核心类库还包括一个支持HTTP、SMTP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。在Java出现以前,为分布式环境尤其是Internet提供动态的内容无疑是一项非常宏伟、难以想象的任务,但Java的语言特性却使我们很容易地达到了这个目标。
(4)安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。Java 支持自动内存管理,这不但让程序员减轻许多负担,也减少程序员犯错的机会。Java自己操纵内存减少了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。
   C#语言比Java出现大概晚了4-5年的时间,所以C#语言在设计上吸取了Java和C++的优点。我们从一下几个方面讨论一下他们之间的区别和联系:
   1) 基本语法:
              Java语言的基本的数据类型和C#一样,但是Java把每种基本数据类型都对应一个Java封装类(String 特殊),所有的类都有一个父类Object,,Object是Java的总根。而C#语言每种基本数据类型的父类都是Object,Object也是C#的总根。   
               Java中的常量是以final关键字进行声明,C#中是以const关键字进行声明。
               Java中的运算符,表达式,数组和C#是一样的。
               Java中的选择语句有if.......else ,Switch case两种,C#也是存在这两种,但是Switch case语句比Java 的功能增强了 。
                Java,C#中的循环语句主要有 while,do.....while,for 循环,C#中还有foreach循环,Java在1.5中新增了for in循环。
               Java中没有结构,在 1.5中新增了枚举,而C#有结构和枚举。
2)   面向对象:
              Java和C#都是纯面向对象的语言,我们都知道面向对象几大特点:封装,继承,多态。
         封装:封装是一种把代码和代码所操作的数据捆绑在一起,使这两者不受外界干扰和误用的机制.封装可被理解为一种用做保护的包装器,以防止代码和数据被包装器外部所定义的其他代码任意访问.对包装器内部代码与数据的访问通过一个明确定义的接口来控制.封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,同时不用担心不可预料的副作用.
        继承:继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二。
       多态:同一方法在不同的子类中有同一种实现。

     
       在JAVA中,最基本的封装单元是类,和类同一级别的还有接口,说道这里我们应该从JAVA的设计说起,Java语言是为小型的设备设计,最初是应用于机顶盒,所以Java觉得用类就足够了。

       在C#中,最基本的封装单元是类,和类同一级别的还有接口,事件,委托。因为C#从设计的出发点就是PC系统,所以C#,还引入了命名空间(namespace),一个namespace可以包括很多的Class。
        因为Java和C#从设计的出发点不同,所以二者之间有很多区别。从现在的发展看来,我觉得C#的设计要比Java好。
        先写到这儿吧,有时间说一下C#的事件和委托,把Java和C#事件对比一下。
        以上是个人总结,如有错误之处请大家指正。

posted @ 2006-08-25 01:03 小丁 阅读(932) | 评论 (0)编辑 收藏

仅列出标题