Java语言概述本讲大纲:1、Java语言历史3、Java语言的面向对象特性支持网站:、Java语言的现状Java语言历史Java语言是Sun公司于1990年开发的,当时Green项目小组的研究人员正在致力于为未来的智能设备开发一种新的编程语言。由于该小组的成员JamesGosling对C++语言在执行过程中的表现非常不满,就把自己封闭在办公室里编写了一种新的语言,并将其命名为Oak(Oak就是Java语言的前身),这个名字源于Gosling办公室窗外的一棵橡树(Oak)。此时的Oak已经具备安全性、网络通信、面向对象、多线程等特性,是一款相当优秀的程序语言。后来,在注册Oak商标时,发现它已经被另一家公司注册,所以不得不改名。要取什么名字呢?工程师们边喝咖啡边讨论着,看看手上的咖啡,联想到印度尼西亚有一个盛产咖啡的岛屿(中文名叫爪哇),于是将其改名为Java。Java语言历史随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling用Java语言开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。该浏览器被命名为HotJava,并于1995年在业界发表,引起了巨大的轰动,Java语言的地位随之得到肯定。1995年5月23日,JDK(JavaDevelopmentKits)1.0a2版本正式对外发布。此后,Java语言的发展异常迅速。在2009年4月20日,Sun公司被Oracle公司收购。借助Java,程序开发人员可以自由地使用现有的硬件和软件系统平台。由于Java是独立于平台的,它还可以应用于计算机之外的领域。Java程序可以在便携式计算机、电视、电话、手机和其他设备上运行。Java的用途数不胜数,它拥有无可比拟的能力,使用它所节省的时间和费用十分可观。如果仔细观察就会发现,Java就在我们身边。使用Java语言编写的常见开源软件包括NetBeans和Eclipse集成开发环境、JBoss和GlassFish应用服务器;商业软件包括永中Office、合金战士Chrome、Websphere和OracleDatabase11g。此外,各手机厂商都为自己的产品提供了Java技术的支持,手机上的Java程序和游戏已经不胜枚举。Java语言的现状为了满足不同的开发人员的需求,Java开发分成3个方向:JavaSE:主要用于桌面程序的开发。它是学习JavaEE和JavaME的基础,也是本书的重点内容。JavaEE:主要用于网页程序的开发。随着互联网的发展,越来越多的企业使用Java语言来开发自己的官方网站,其中不乏世界500强。JavaME:主要用于嵌入式系统程序的开发。Java语言的现状.NETFramework是微软公司推出的完全面向对象的软件开发与运行平台,它具有两个主要组件,分别是公共语言运行库(CommonLanguageRuntime,CLR)和.NETFramework类库。公共语言运行库是.NETFramework的基础,它为多种语言提供了一种统一的运行环境。可以将运行库看作一个在执行时管理代码的代理,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NETFramework的另一个主要组件是类库,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创建的应用程序(如Web窗体和XMLWebServices)。Java语言的面向对象特性Java语言的语法简单明了,容易掌握,而且是纯面向对象的语言。Java语言的简单性主要体现在以下几点:语法规则和C++类似。从某种意义上讲,Java语言是由C和C++语言转变而来,所以C程序设计人员可以很容易地掌握Java语言的语法。Java语言对C++进行了简化和提高。例如,Java使用接口取代了多重继承,并取消了指针,因为指针和多重继承通常使程序变得复杂。Java语言还通过实现垃圾自动收集,大大简化了程序设计人员的资源释放管理工作。Java提供了丰富的类库和API文档以及第三方开发包,另外还有大量的基于Java的开源项目,现在JDK也开放源代码了,读者可以通过分析项目的源代码,提高自己的编程水平。Java语言的面向对象特性——简单Java语言本身是一种面向对象程序设计语言。Java提倡万物皆对象,语法中不能在类外面定义单独的变量和方法,也就是说,Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。Java语言的面向对象特性——面向对象Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL对象访问网络对象,访问方式与访问本地系统相同。Java语言的面向对象特性——分布性Java程序具有与体系结构无关的特性,从而使Java程序可以方便地移植到网络的不同计算机中。同时,Java的类库中也实现了针对不同平台的接口,使这些类库也可以移植。Java语言的面向对象特性——可移植性运行Java程序需要解释器。任何移植了Java解析器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时信息,使得连接过程更加简单,开发过程也就更加迅速,更具探索性。Java语言的面向对象特性——解释型Java语言删除了类似C语言中的指针和内存释放等语法,从而有效地避免了非法操作内存。Java程序代码要经过代码校验、指针校验等很多的测试步骤才能够运行,所以未经允许的Java程序不可能出现损害系统平台的行为,而且使用Java可以编写防病毒和防修改的系统。Java语言的面向对象特性——安全性Java的设计目标之一,是编写多方面可靠的应用程序,Java将检查程序在编译和运行时的错误,以及消除错误。类型检查能帮助用户检查出许多在开发早期出现的错误。同时,很多集成开发工具IDE(如Eclipse、NetBeans)的出现使编译和运行Java程序更加容易。Java语言的面向对象特性——健壮性多线程机制能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。Java语言的面向对象特性——多线程Java编译后的字节码是在解释器中运行的,所以它的速度比多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。Java语言的面向对象特性——高性能Java在很多方面比C和C++更能够适应发展的环境,可以动态调整库中方法和变量的增加,而客户端却不需要任何更改。在Java中动态调整是非常简单、直接的。Java语言的面向对象特性——动态Thankyou还有什么疑问可以到@mingrisoft.com