1.5 Java程序种类
Java是一种网络程序语言,它能写出包含前端(Applet)、本地(Application)及后端(Servlet)的程序,虽然这三者的结构不同,但基本的语法都一样,所以能彼此沟通,构造出一所谓的平台。现在又加上了JSP(Java Server Pages)作为服务器端的加强,使得开发网络程序更快速,让Java平台更加完整了。
1.5.1 Applet
Applet(小程序)是一种可嵌入于Web文件中的一种小型程序,其程序因网络传输速度关系都很短小,但在应用上往往比Application更有用,一般都是通过浏览器(比如Internet Explorer)来观看Applet。图1?2显示的是一个三维动画Applet范例。
1.5.2 Application
Application(应用程序)是在命令行环境下执行的程序。程序中由main()方法作为程序起点,执行顺 序由程序本身来控制,而Applet却是由浏览器来掌管图1?2 Applet范例 的。选择Applet还是Application来开发,要视所欲表
达的内容与传输机制而定。Application程序可以独立进行,不必使用支持Java的浏览器或专门的执行工具。另外,Application程序与Applet相比,限制更少。例如,Application可以访问本地的文件系统,而Applet程序却受到安全机制的限制,无法实现本地访问。Application程序还可以加载任何本地程序,包括动态链接库等,Applet程序却无法实现。
1.5.3 Servlet
Servlet是用Java代码编写的服务器端应用程序,用于处理客户机和服务器之间的消息传递。Servlet可以通过动态构造一个发回客户机的响应来响应客户机请求,可在不同平台和不同的Web应用服务器间移植,适合于实现复杂的商业应用逻辑,例如数据查询、聊天室或日历等。图1?3显示的是一个由Servlet产生的计时时钟。
1.5.4 JSP
图1?3 由Servlet产生的计时时钟
JSP是Java Server Pages的缩写,是Sun公司于1999年推出的一种动态网页技术标准。JSP是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站,这项技术还在不断地更新和优化。
1.6 Java应用程序开发
在看过了多姿多彩的Java世界后,是不是忍不住要亲手调一杯美味的Java咖啡来尝尝?要调出一杯香浓可口的Java咖啡,对一个初学者,不是三下两下就能办到的。因为编写Java程序和编写一般在PC窗口环境下程序不一样,因为Java是一种网络程序语言,而不仅是PC上的一种语言。要学好Java,首先要了解Java程序的运作原理及开发流程,其次要了解面向对象概念,接着熟悉Java基本程序结构,最后学习使用开发工具。
Java语言设计的理念就是以整个Internet为运作平台,以程序代码能在各种操作系统及各种机器上运行为目标。为此发展出Java字节码(Byte Code)、Java虚拟机器(Java Virtual Machine,JVM)及Java API等达到此目的。Java字节码(.class文件)是一种具有可移植性的程序代码,与一般程序通过编译器编译成的机器码不同,它不是真正令CPU运行的程序代码,故又称为伪码。Java字节码是由Java源文件通过Java编译器编译而成,如图1?4所示。
图1?4 Java的编译
在客户端收到网络所传输过来的字节码后,便可通过一种与各平台有关的运行阶段环境(Java Runtime Environment,JRE)中的JVM以及JRE所提供的运行时所需类库,转换成本地码(Native Code,CPU机器指令),如此便可达到“一次编写,到处运行”的目的。JRE所包含的软件如图1?5所示。
JVM包括类加载器、字节确认器以及JIT实时编译器。类加载器用来取得从网络获取的或存于本地机器上的类文件字节码。字节确认器接着确认这些类文件是否有正确的格式,以确定在运行时不会有破坏内存的行为。而JIT编译器可将字节码转换成本地机器码,使原本是直译式的VM能提高到编译式的运行效果。Java HotSpot Runtime就是实时编译技术的一大杰作,如图1?5所示。
图1?5 JVM
1.6.1 JDK环境
JDK可以免费从Internet上获得,很多网站都提供JDK的下载,如:http://java.sun.com/ products/jdk/站点。Sun公司提供了多种操作系统平台的JDK,这里以最常见的Windows操作系统为例,说明JDK的安装和设置。
Java编程人员一般都是先从Sun公司提供的开发包JDK(Java Developers Kits)开始学习的,Java不仅提供了一个丰富的语言和运行环境,而且还提供了一个免费的Java开发工具集JDK。编程人员和最终用户可以利用这个工具来开发Java程序或调用Java内容。
JDK主要包括以下工具:
? Javac:Java语言编译器,输出结果为Java字节码。 ? Java:Java字节码解释器。
? Javap:Java字节码分解程序,本程序返回Java程序的成员变量及方法等信息。 ? AppletViewer:小应用程序Applet浏览工具,用于测试并运行Applet。 ? Jdb:Java调试工具。
? Javadoc:Java代码注释自动生成工具。 Java开发环境还包括Java类库(包括I/O类库、用户界面、网络类库等)和HotJava Web浏览器。其中,HotJava浏览器提供了在Web环境下运行Java代码的一个运行系统,而且还为Web开发人员提供了一个Java开发框架。Java解释器是面向Java程序的一个独立运行系统,它可以一种稳定、高性能的方式运行各种平台的Java字节码。Java编译器则用于生成这些字节码。
1.6.2 Java程序的编译
Java程序的编译程序是javac.exe。javac命令将Java程序编译成字节码,然后可用Java解释器来解释执行这些字节码。Java程序源码必须存放在后缀为.java的文件里。对于Java程序里的每一个类,javac都将生成与该类名称相同但后缀名为.class的文件。编译器把.class文件放在.java文件的同一个目录里,除非用了?d选项。当引用到某个自己定义的类时,必须指明它们的存放目录,这就需要利用环境变量参数CLASSPATH。环境变量CLASSPATH由一些被分号分割的路径名组成。如果传递给javac编译器的源文件里引用到的类定义在本文件和传递的其他文件中找不到,则编译器会按CLASSPATH定义的路径来搜索。例如“CLASSPATH=.; d:\\jbuilderX\\classes”,编译器先搜索当前目录,如果没搜索到,则继续搜索
d:\\jbuilderX\\classes目录。注意,系统总是将系统类的目录默认加在CLASSPATH后面,除非使用?classpath选项来编译。在命令行界面下敲入javac,将出现如图1?6所示的界面。
图1?6 javac的使用方法 具体各项内容解释如下:
? ?classpath:定义javac搜索类的路径。它将覆盖默认的CLASSPATH环境变量的设置。
? ?d:指明类层次的根目录,格式如下:javac –d my_dir MyProgram。Javac把MyProgram编译的.class文件存放在my_dir目录里。 ? ?g:带调试信息编译,调试信息包括行号与使用Java调试工具使用到的局部变量信息。 ? ?nowarn:关闭警告信息,编译器将不显示任何警告信息。 ? ?O:优化编译。
? ?verbose:显示被编译的源文件名和被加载的类名。
1.6.3 Java程序的执行
java.exe是Java语言解释器,解释Java字节码,在命令行中敲入java,将出现如图1?7所示的界面。
其中,class参数是要执行的类名称。注意,在类名称后的任意参数都将传递给要执行类的main函数。Java执行完main函数后退出,除非main函数创建了一个或多个线程。如果main函数创建了其他线程,则Java总是等到最后一个线程结束后才退出。
相关推荐: