180 likes | 356 Vues
Advanced Network Programming. Ren Jiansi renjsv@cug.edu.cn. Java 的发展历史. 1 Java 的起源 Java 是 Sun 公司 1995 年正式推出的新一代面向对象程序设计语言 , 特别适合于 Internet 应用程序开发 , 具有平台无关性。
E N D
Advanced Network Programming Ren Jiansi renjsv@cug.edu.cn
Java的发展历史 1 Java的起源 Java是Sun公司1995年正式推出的新一代面向对象程序设计语言, 特别适合于Internet应用程序开发, 具有平台无关性。 Java来自于1991年Sun公司的一个叫Green的项目, 其原先的目的是为家用消费电子产品开发一个分布式代码系统, 可以把E-mail发给电冰箱、 电视机等家用电器, 对它们进行控制。开始, 准备采用C++, 但C++太复杂, 安全性差, 最后基于C++开发了一种新的语言Oak(Java的前身), Oak是一种用于网络的精巧而安全的语言。 1994年下半年, Internet的快速发展, 促进了Java语言研制的进展, Green项目组成员用Java编制了HotJava 浏览器, 触发了Java进军Internet,使得它逐渐成为Internet上受欢迎的开发与编程语言,现已发展成为一种重要的Internet平台。
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的动态特性是其面向对象设计方法的拓展, 它允许程序动态地装入运行过程中所需要的类。
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为用户推出了游戏、天气预报、地图等一系列紧俏时髦的应用,它能够帮助汽车司机避免交通阻塞,还能让公司对即将出行的销售人员进行跟踪。目前在移动通讯中被广泛使用,如手机抓捕图象、手机游戏等。
5 与Java相关的几个常见名词 • Java EE—— Java Platform, Enterprise Edition (Java 企业版) Java EE首先是一种构架,它包罗了Java的多种先进的技术,最合适使用MVC的方法来构建系统,其表现层使用JSP,控制层可以使用Servlet或Session Bean,用于实现业务逻辑,Entity Bean则对业务实体进行抽象。此外它还使用JAAS实现安全机制,JNDI用于查询资源,JDBC和JTA访问数据库和管理事务;JMS实现企业的消息处理;JavaMail实现与企业外界的联系。今年10月份将发布的最新版本为Java EE 5.0。
Java SE——Java Platform, Standard Edition(Java 标准版),是Java最核心的技术。 • Java ME——Java Platform, Micro Edition (Java 袖珍版), 是一个重要的用于无线方面的 Java 平台,它从可移植的、以网络为中心的 Java 虚拟机转变而来。 • JVM——Java Virtual Machine (Java虚拟机),它通过采用一种被称之为Java虚拟机的虚拟微处理器的规范,用软件在计算机芯片内模拟出一个假芯片,然后开始运行程序,为Java程序提供统一的脱离软、硬件平台的运行环境。
JDK——Java Development Kit (Java开发工具包),由Sun公司免费发行的,JDK有多个版本,大体经历过1.02、1.1.x、1.2、1.3、1.4、1.5几个系列。 • JSDK——Java Server Development Kit(Java服务器开发工具包),是JDK 的一个典型的扩展工具包。 • JDBC——Java DataBase Connectivity(Java数据库连接),是一种用于执行SQL语句的Java API(应用程序接口),可以为多种关系数据库提供统一访问,是由一组用Java语言编写的类和接口组成。
Applet——Java Applet 是用 Java 语言编写的、包含在网页里的“小 应用程序”,通常被放在 Web 服务器上。当有人上网浏览时,Applet 随网页一起 下载到客户端的浏览器中,并借助浏览器中的 Java 虚拟机(JVM)运行工作。 • Servlet——Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled 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)—Java EE核心组件,EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。 Enterprise Bean与JavaBean不同。JavaBean 是使用 java.beans 包开发的,它是 Java SE的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件,是进程内组件。Enterprise Bean 是使用 javax.ejb 包开发的,它是标准 JDK 的扩展,是 Java EE 的一部分。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页面。