您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > JAVA教程全集-电子版
IT教程网第一章Java概览Java是一种理想的面向对象的网络编程语言。它的诞生为IT产业带来了一次变革,也是软件的一次革命。Java程序设计是一个巨大而迅速发展的领域,有人把Java称作是网络上的“世界语”。本章将简要介绍Java语言的发展历史、特点、Java程序的基本结构以及开发Java程序的环境和基本方法。1.1Java语言发展历史1.1.1Java语言产生的背景1991年,SUNMicroSystem公司的JameGosling、BillJoe等人的研究小组针对消费电子产品开发应用程序,由于消费电子产品种类繁多,各类产品乃至同一类产品所采用的处理芯片和操作系统也不相同,就出现了编程语言的选择和跨平台的问题。当时最流行的编程语言是C和C++语言,但对于消费电子产品而言并不适用,安全性也存在问题。于是该研究小组就着手设计和开发出一种称之为Oak(即一种橡树的名字)语言。由于Oak在商业上并未获得成功,当时也就没有引起人们的注意。直到1994年下半年,随着Internet的迅猛发展,环球信息网的快速增长,SunMicrosystems公司发现Oak语言所具有的跨平台、面向对象、高安全性等特点非常适合于互联网的需要,于是就改进了该语言的设计且命名为“Java”,并于1995年正式向IT业界推出。Java一出现,立即引起人们的关注,使得它逐渐成为Internet上受欢迎的开发与编程语言。当年就被美国的著名杂志PCMagazine评为年度十大优秀科技产品之一(计算机类就此一项入选)。1.1.2互联网成就了Java互联网的出现使得计算模式由单机时代进入了网络时代,网络计算模式的一个特点是计算机系统的异构性,即在互联网中连接的计算机硬件体系结构和各计算机所使用的操作系统不全是一样的,例如硬件可能是SPARC、INTEL或其他体系的,操作系统可能是UNIX、Linux、windows或其他的操作系统。这就要求网络编程语言是与计算机的软硬件环境无关的,即跨平台的,用它编写的程序能够在网络中的各种计算机上正常运行。Java正是这样迎合了互联网时代的发展要求,才使它获得了巨大的成功。随着Java2一系列新技术(如JAVA2D、JAVA3D、SWING、JAVASOUND、EJB、SERVLET、JSP、CORBA、XML、JNDI等等)的引入,使得它在电子商务、金融、证券、邮电、电信、娱乐等行业有着广泛的应用,使用Java技术实现网络应用系统也正在成为系统开发者的首要选择。事实上,Java是一种新计算模式的使能技术,Java的潜力远远超过作为编程语言带来的好处。它不但对未来软件的开发产生影响,而且应用前景广阔,其主要体现在以下几个方面:1)软件的开发方法,所有面向对象的应用开发以及软件工程中需求分析、系统设计、开发实现和维护等。2)基于网络的应用管理系统,如完全基于Java和WEB技术的Intranet(企业内部网)上应用开发。3)图形、图像、动画以及多媒体系统设计与开发实现。4)基于Internet的应用管理功能模块的设计,如网站信息管理、交互操作设计及动态Web页面的设计等。5)其它应用。1.2Java的特点Java是一种纯面向对象的网络编程语言,它具有如下特点:1)简单、安全可靠Java是一种强类型的语言,由于它最初设计的目的是应用于电子类消费产品,因此就要求既要简单又要可靠。Java的结构类似于C和C++,它汲取了C和C++优秀的部分,弃除了许多C和C++中比较繁杂和不太可靠的部分,它略去了运算符重载、多重继承等较为复杂的部分;它不支持指针,杜绝了内存的非法访问。它所具有的自动内存管理机制也大大简化了程序的设计与开发。Java主要用于网络应用程序的开发,网络安全必须保证,Java通过自身的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。2)面向对象Java是一种完全面向对象的语言,它提供了简单的类机制以及动态的接口模型,支持封装、多态性和继承(只支持单一继承)。面向对象的程序设计是一种以数据(对象)及其接口为中心的程序设计技术。也可以说是一种定义程序模块如何“即插即用”的机制。面向对象的概念其实来自于现实世界,在现实世界中,任一实体都可以看作是一个对象,而任一实体又归属于某类事物,因此任何一个对象都是某一类事物的一个实例。在Java中,对象封装了它的状态变量和方法(函数),实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或者重新定义父类或者超类所提供的方法,从而实现了代码的复用。3)分布式计算Java为程序开发者提供了有关网络应用处理功能的类库包,程序开发者可以使用它非常方便地实现基于TCP/IP的网络分布式应用系统。4)平台的无关性Java是一种跨平台的网络编程语言,是一种解释执行的语言。Java源程序被Java编译器编译成字节码(Byte-code)文件,Java字节码是一种“结构中立性”(architectureneutral)IT教程网的目标文件格式,Java虚拟机(JVM)和任何Java-使能的Internet浏览器都可执行这些字节码文件。在任何不同的计算机上,只要具有Java虚拟机或Java使能的Internet浏览器即可运行Java的字节码文件,不需重新编译(当然,其版本向上兼容)。实现了程序员梦寐以求的“一次编程、到处运行”(writeonce,runeverywhere!)的梦想。5)多线程Java的多线程(multithreading)机制使程序可以并行运行。线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。Java的同步机制保证了对共享数据的正确操作。多线程使程序设计者可以在一个程序中用不同的线程分别实现各种不同的行为,从而带来更高的效率和更好的实时控制性能。6)动态的一个Java程序中可以包含其他人写的多个模块,这些模块可能会遇到一些变化,由于Java在运行时才把它们连接起来,这就避免了因模块代码变化而引发的错误。7)可扩充的Java发布的J2EE标准是一个技术规范框架,它规划了一个利用现有和未来各种Java技术整合解决企业应用的远景蓝图。正如SUNMicroSystems所述:Java是简单的、面向对象的、分布式的、解释的、有活力的、安全的、结构中立的、可移动的、高性能的、多线程和动态的语言。1.3Java的工作原理1.3.1Java虚拟机Java虚拟机其实是软件模拟的计算机,它可以在任何处理器上(无论是在计算机中还是在其它电子设备中)解释并执行字Java的字节码文件。Java的字节码被称为Java虚拟机的机器码,它被保存在扩展名为.class的文件中。一个Java程序的编译和执行过程如图1-1所示。首先Java源程序需要通过Java编译器编译成扩展名为.class的字节码文件,然后由Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码并执行。Filename.java源文件编译器Filename.class字节码文件解释器图1-1Java程序的编译和执行过程1.3.2内存自动回收机制在程序的执行过程中,系统会给创建的对象分配内存,当这些对象不再被引用时,它们所占用的内存就处于废弃状态,如果不及时对这些废弃的内存进行回收,就会带来程序运行效率下降等问题。在Java运行环境中,始终存在着一个系统级的线程,专门跟踪对象的使用情况,定期检测出不再使用的对象,自动回收它们占用的内存空间,并重新分配这些内存空间让它们为程序所用。Java的这种废弃内存自动回收机制,极大地方便了程序设计人员,使他们在编写程序时不需要考虑对象的内存分配问题。1.3.3代码安全性检查机制Java是网络编程语言,在网络上运行的程序必须保证其安全性。如何保证从网络上下载的Java程序不携带病毒而安全地执行呢?Java提供了代码安全性检查机制。Java在将一个扩展名为.class的字节码文件装载到虚拟机执行之前,先要检验该字节码文件是否符合字节码文件规范,代码中是否存在着某些非法操作。检验工作由字节码检验器(bytecodeverifier)或安全管理器(SecurityManager)进行。检验通过之后,将字节码文件加载到Java虚拟机中,由Java解释器解释为机器码并执行。java虚拟机把程序的代码和数据都限制在一定内存空间里执行,不允许程序访问超出该范围,保证了程序的安全运行。1.4Java的运行环境JDK1.4.1Java平台Java不仅仅是一种网络编程语言,还是一个不断扩展的开发平台。Sun公司针对不同的市场目标和设备进行定位,把Java划分为如下三个平台:1)J2SE(Java2StandardEdition)是Java2的标准版,主要用于桌面应用软件的编程。它包含了构成Java语言基础和核心的类。我们在学习Java的过程中,主要是在该平台上进行的。2)J2EE(Java2EnterpriseEdition)是Java2的企业版,主要是为企业应用提供一个服务器的运行和开发平台。J2EE不仅包含J2SE中的类,还包含了诸如EJB、servlet、JSP、XML等许多用于开发企业级应用的类包。J2EE本身是一个开放的标准,任何软件厂商都可以推出自己符合J2EE标准的产品,J2EE将逐步发展成为强大的网络计算平台。3)J2ME(Java2MicroEdition)是Java2的微缩版,主要为消费电子产品提供一个Java的运行平台,使得能够在手机、机顶盒、PDA等消费电子产品上运行Java程序。IT教程网1.4.2建立Java开发环境要使用Java开发程序就必须先建立Java的开发环境。当前有许多优秀的Java程序开发环境,诸如JBuilder、VisualAge、VisualJ++等等,这些工具功能强大,很适合有经验者使用。对于学习Java者来说,应该使用Sun公司的Java开发工具箱JDK(JavaDevelopmentKit),它拥有最新的Java程序库,功能逐渐增加且版本在不断更新,尽管它不是最容易使用的产品,但它是免费的,可到Java.sun.com站点上免费下载。下边我们在MicrosoftWindows操作系统平台上安装JDK,建立Java的开发环境。1)下载并安装JDK文件当前Jdk版本已经更新到1.6.0版本,我们就Jdk1.6.0版本为例,从Java.sun.com站上下载安装文件jdk-6-windows-i586。双击安装文件jdk-6-windows-i586,按照安装文件的提示一步步执行即可安装。如果将JDK安装到C:\Jdk1.6.0目录下,安装成功后,将有图1.2所示的目录结构。2)下载并安装Java帮助文档Java帮助文档对程序设计人员来说是很重要的,由于JDK的安装文件中不包括帮助文档,因此也需要从网站上下载而后安装。帮助文档下载与安装的过程和步骤与JDK类似,不再重述。帮助文档一般被安装在docs的目录下,使用浏览器打开该目录下的index.html文件即可查阅所有的帮助文档。3)设置运行路径Jdk1.6.0bindemoincludelibjrebinlibappletaudiocmmclientserverzidb图1.2目录结构在运行Java程序或进行一些相关处理时,用到了工具箱中的工具和资源,这就需要设置两个环境变量PATH和CLASSPATH,以获取运行工具和资源的路径。在不同的操作系统下设置环境变量的方式有所不同,下边我们以WindowsXP系统为例说明设置环境变量的操作方法和步骤:(1)右击“我的电脑”图标;(2)在出现的快捷菜单中单击“属性”选项;(3)在出现的“系统属性”对话框窗口上单击“高级”选项;(4)单击对话框上的“环境变量”按钮;(5)在出现的“环境变量”对话框上,单击用户变量框内的“新建”按钮;(6)出现如图1.3的“新建用户变量”对话框窗口。在“变量名”文本框中输入:CLASSPATH;在“变量值”文本框中输入:.;c:\jdk1.6.0\lib\dt.ja
本文标题:JAVA教程全集-电子版
链接地址:https://www.777doc.com/doc-4484169 .html