Java的发展历史.ppt
2.1 Java的发展历史,2.1.1 Java的起源 Java是Sun公司1995年正式推出的新一代面向对象程序设计语言,特别适合于Internet应用程序开发,其平台无关性直接威胁到Wintel 的垄断地位。Java来自于1991年Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制。开始,准备采用C+,但C+太复杂,安全性差,最后基于C+开发了一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言。1994年下半年,Internet的快速发展,促进了Java语言研制的进展,Green项目组成员用Java编制了HotJava 浏览器,触发了Java进军Internet,使得它逐渐成为Internet上受欢迎的开发与编程语言,现已发展成为一种重要的Internet平台。,2.1.2 关于Java 的大事,Duke(Java吉祥物)2005 JavaChina 中国开发者大会,Java风云人物,Java著名产品,2.1.3 Java语言的特点,简单易学:1)风格类似于C+,基本语法与C语言类似;2)摒弃了C+中容易引发程序错误的地方,如指针和内存管理;3)提供了丰富的类库。面向对象:支持静态和动态风格的代码继承及重用,是完全 面向对象的,它不支持类似C语言那样的面向过程 的程序设计技术。解释执行:Java解释器(运行系统)能直接运行目标代码指令。平台无关:Java源程序被编译成一种高层次的与机器无关的 byte-code格式语言,被设计在Java虚拟机上运行。,性能优异:Java可以在运行时直接将目标代码翻译成机器指令,Sun用直接解释器一秒钟内可调用300,000个过程,翻译目标代码的速度与C/C+的性能没什么区别。分布式:Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。可移植:Java应用程序可以在配备了Java解释器和运行环境的任何计算机 系统上运行,通过定义独立于平台的基本数据类型及其运算,Java数据得以在任何硬件平台上保持一致。多线程:Java提供的多线程功能使得在一个程序里可同时执行多个小任务。多线程带来的好处是可以有更好的 交互性能和实时控制性能。,健壮:Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。安全:Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。动态:Java的动态特性是其面向对象设计方法的拓展,它允许程序动态地装入运行过程中所需要的类。,2.1.4 与Java语言相关的应用Java Application(Java应用程序):用Java语言编写的通过独立的Java解释器来解释运行的桌面应用程序(类似于其它高级语言编制的应用程序)。Java Applet(Java小程序):用Java语言编写的、嵌入在HTML编写的Web页面中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行,是动态、安全、跨平台的网络应用程序。,JSP(JavaServer Pages,Java 服务器页):是一种实现普通静态HTML和动态HTML混合编码的技术,是在Sun公司倡导及多个公司参与下共同建立的一种动态网页标准,实现了Web动态内容与其显示的分离,用于构建动态Web网站,JSP文件运行于服务器端,JSP的脚本语言是Java,其平台无关性使得JSP一次编写,各处运行。最新应用Java为用户推出了游戏、天气预报、地图等一系列紧俏时髦的应用,它能够帮助汽车司机避免交通阻塞,还能让公司对即将出行的销售人员进行跟踪。目前在移动通讯中被广泛使用,如手机抓捕图象、手机游戏等。,2.1.5 与Java相关的几个常见名词,J2EE Java 2 Platform,Enterprise Edition(Java 2企业版)J2EE首先是一种构架,它包罗了Java的多种先进的技术,最合适使用MVC的方法来构建系统,其表现层使用JSP,控制层可以使用Servlet或Session Bean,用于实现业务逻辑,Entity Bean则对业务实体进行抽象。此外它还使用JAAS实现安全机制,JNDI用于查询资源,JDBC和JTA访问数据库和管理事务;JMS实现企业的消息处理;JavaMail实现与企业外界的联系。今年10月份将发布的最新版本为Java EE 5.0。,J2SEJava 2 Platform,Standard Edition(Java 2标准版),是Java最核心的技术,最新版本为J2SE 5.0。J2MEJava 2 Platform,Micro Edition(Java 2袖珍版),是一个重要的用于无线方面的 Java 平台,它从可移植的、以网络为中心的 Java 虚拟机转变而来。JVMJava Virtual Machine(Java虚拟机),它通过采用一种被称之为Java虚拟机的虚拟微处理器的规范,用软件在计算机芯片内模拟出一个假芯片,然后开始运行程序,为Java程序提供统一的脱离软、硬件平台的运行环境。,JDKJava Development Kit(Java开发工具包),由Sun公司免费发行的,JDK有多个版本,大体经历过1.02、1.1.x、1.2、1.3、1.4、1.5几个系列,最新版本为2004年发布的JDK1.5。JSDKJava Server Development Kit(Java服务器开发工具包),是JDK 的一个典型的扩展工具包。JDBCJava DataBase Connectivity(Java数据库连接),是一种用于执行SQL语句的Java API(应用程序接口),可以为多种关系数据库提供统一访问,是由一组用Java语言编写的类和接口组成。,AppletJava Applet 是用 Java 语言编写的、包含在网页里的“小 应用程序”,通常被放在 Web 服务器上。当有人上网浏览时,Applet 随网页一起 下载到客户端的浏览器中,并借助浏览器中的 Java 虚拟机(JVM)运行工作。ServletServlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Javaenabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求响应模式提供Web服务。Servlet与Jsp之间的交互为开发Web服务提供了优秀的解决方案。,Swing与 AWT(抽象窗口工具包)是Java设计 GUI(图形用户界面)的基础。AWT设计有严重缺陷,不能满足发展的需要。Swing是在AWT基础上发展起来的,为Java GUI编程提供了强大丰富的API和灵活的结构设计,提供了替代AWT重量组件的轻量组件,Swing 中大部分是轻量级组件。Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用。二者最好不要混用。,EJB(Enterprise JavaBeans)-J2EE核心组件,EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。Enterprise Bean 与 JavaBean 不同。JavaBean 是使用 java.beans 包开发的,它是 J2SE的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件,是进程内组件。Enterprise Bean 是使用 javax.ejb 包开发的,它是标准 JDK 的扩展,是 J2EE 的一部分。Enterprise Bean 是在多台机器上跨几个地址空间运行的组件,是进程间组件。JavaBean 通常用作 GUI 窗口小部件,而 Enterprise Bean 则用作分布式商业对象。,JavaScript、VBScript、JScript辨异,JavaScript是由Netscape公司发明的一种Web脚本编制语言(基本语法和C语言非常类似),最初叫作 LiveScript,可嵌入在HTML文件中,用来处理以客户端环境为基础的动态信息,但不能访问服务器端资源,只要浏览器支持JavaScript,用JavaScript编写的脚本就可以正确执行。尽管JavaScript采用与Java类似的语法,但二者并无直接的联系。VBScript是Microsoft公司开发的一种通用的Web脚本语言,其基本语法与Basic语言类似,但它只能被IE浏览器所支持。VBScript是ASP(Active Server Pages)默认的脚本语言,使用ASP可以创建和运行动态、交互的Web服务器应用程序。ASP需要Microsoft 的IIS(Internet信息服务器)的支持才可以运行。JScript 是 Microsoft 公司推出的一种解释型的、基于对象的脚本语言,JScript 脚本只能在某个解释器上运行,该解释器可以是 Web 服务器,也可以是 Web 浏览器。可以用JScript 来编写ASP页面。,