荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: kid (努力), 信区: Java
标  题: JAVA环境中的JAVA工具
发信站: 荔园晨风BBS站 (Thu Nov 22 21:31:48 2001), 转信

Java不但提供了一个特征丰富的语言和运行环境,而且还为程序员和最终用户提供了开发和
使用Java的工具。
  Java提供了程序员可用来更好地制作并更快运行其程序的扩展类库。Java类库是一组预
先开发的程序码,它可以与单独的应用程序相链接。Java类库给程序员提供了一个彻底经过
测试的健壮性很好的类集合。通过使用这些类库,程序员就不需要重新编写这些代码,从而
节约了时间,提高了效率。这些类库代表了面向对象计算的核心部分。
  下面将介绍一些主要Java工具的使用,在Java环境中的Java工具列表如下所示:
  * appletviewer 小应用程序浏览器
  * java 解释器
  * javac 编译器
  * javah 头文件生成器
  * javadoc API文档生成器
  * javap 类文件反汇编器
  * jdb Java 语言调试器
  这些文件包括在/java/bin/目录中,并可以在任何目录中运行,前提是你在设置运行程
序的系统中设置了路径。
2.1 Appletviewer小应用程序浏览器

  appletviewer 提供了一个Java运行环境,在其中可测试小应用程序Applet 。
appletviewer 读取包含小应用程序的HTML文件并在一个窗口中运行它们。
  在小应用程序的菜单选择中有如下几个选项:
  * Restart: 重新运行小应用程序
  * Reload:重新调取小应用程序。如果.class文件在读取后被改变, 此命令将是很有
用的。
  * Clone:按照HTML文件的命令行变量创建一个新的appletviewer窗口。
  * Tag:显示用在HTML文件中的{applet}标签,以启动小应用程序(见图2-1)。
  (图2-1 Appletviewer的tag对话框)
  *Info:提供关于小应用程序的有用信息(见图2-2)。
  (图2-2 Appletviewer的info对话框)
  *Properties: 此命令允许为appletviewer设置不同的网络和安全配置(见图2 -3)。交
四个对话框允许appletviewer指定HTTP proxy代理服务者及firewall proxy 代理服务者运
行。这需要知道上述两个proxy代理的地址和端口号,你可以从你的站点管理者那里得到这
些信息。网络访问安全性控制包括不同级别的安全性, 包括禁止网络访问。只允许访问小
应用程序的主机、无限制访问。类访问选择合你能够指定在机器上是否对类访问进行限制。

  (图2-3 Appletviewer的Properties对话框)
  appletviewer 是一个基本的工具,和HTML相仿,它处理并显示了Java 小应用程序。
Java小应用程序只是全部WWW页面中的一部分,观察小应用程序在其余HTML文件中的适应情
况是十分重要的 。 因此, 必需有一个全功能浏览器如 Netscape 或 HotJava。
  appletviewer唯一的可选项就是debug,它将在 Java 语言调试器 jdb 中启动
appletviewer。
2.2 Java解释器
  Java解释器可用来直接解释执行Java字节代码,具体命令行格式如下:
  C:}java options className arguments
  className必须包括所有软件包信息。不仅有类名本身,还有Java 解释器所期望的类名
(不是Java字节代码的文件名),所有在解释器环境下运行的类都必须包括解释器第一次调
用时所需的main成员函数,用以传递命令所带的变量。


  public static void main(string args[])
  {
   ......
  }

  表2-1中包括了Java解释器的所有选项。

   选项              功能
  ──────────────────────────────────
  -cs -checksource   此选项让解释器重编译Java源文件已更新的类--重
             编译已改变过了的类。
  -classpath path    此选项重写CLASSPATH环境变量,告诉Java在哪里能
             找到类库。如果其中用冒号分开,则可能包含多个
             目录。
  -mx x         此选项设置内存分配池的最大值。所指定的池必须
             大于1,000字节。另外“K”,“M”可附加在数字
             上指定是千字节还是兆字节。缺省值是16MB。
  -ms x         此选项设置内存分配池的最小值。所指寂的池必须
             大于1,000字节。另外,“K”,“M”可加在数字
             上指定的是千字节还是兆字节。缺省值是1MB。
  -noasyncgc       此选项关闭异步无用单元收集功能,只有在程序中
             调用它或内存溢出的时候,无用单元收集才会被激
             活。
  -ss x         此选项将C线程栈的最大值设置为x , x 必须大于
             1KB,其设定方式同 -ms。
  -oss x         此选项设定Java堆栈最大值为x。
  -v,-verbose     此选项告知Java每当类被调用之时, 向标准输出设
             备输出信息。
  -verify        此选项告知Java在所有代码上使用校验。
  -verifyremote     此选项告知Java 仅仅对类载入器所载入的类进行校
             验。
  -noverify       此选项告知Java不进行校验。
  -verbosegc       此选项告知Java让无用单元收集器在它释放内存时
             显示一条信息。
  -t           此选项在Java-g解释器中是可用的,并把执行的情
             况逐条打印出来。
  -debug         此选项允许Java调试器与本次Java 解释器会话相联
             接。汉它运行时,Java会显示一个密码,用于启动
             这次调试会话。
  -D propName=newVal   此选项允许用户在运行时改变属性值。

         表2-1 Java解释器的所有选项

2.3 Javac编译器

  Javac编译器读取Java源代码,并将其编译成字节代码,调用Javac的命令行如下:
  C:}javac options filename.java
  值得注意的是,和Java解释器不同,Javac 编译器期望它正在编译的文件具有扩展名.
Java。其命令行如表2-2:


   选项              功能
  ──────────────────────────────────
  -classpath path    此选项用于设定路径,在该路径上Javac寻找需被
             调用的类。该路径是一个用分号分开的目录列表。
  -d directory     此选项指定一个根目录。该目录用来创建反映软件
             包继承关系的目录数。
  -g           此选项在代码产生器中打开调试表,以后可凭此调
             试产生字节代码。
  -nowarn        此选项禁止编译器产生警告。
  -O          此选项告诉javac优化由内联的static、final以及
             privite成员函数所产生的代码。
  -verbose       此选项告知Java显示出有关被编译的源文件和任何
             被调用类库的信息。

         表2-2 Javac编译器命令行选项

2.4 javah头文件生成器

  javah程序创建C头文件和存根文件,这些是把本地C成员函数包入java 所需要的。被
创建的头文件给出了有关java类的信息,这些信息是C成员函数与java类交换数据所必需的
。存根文件将用来创建将定义java对象的结构与java对象本身数据相联系的C文件。调用
javah的命令行如下:
    C:}javah options classname additionalClasses
  javah程序有些象java解释器,它只需要类名而不需要写.class扩展名。javah 程序可
接受多个类名以产生文件头和存根文件,表2-3列出了javah程序命令行选项。


   选项              功能
  ──────────────────────────────────
  -o outputfile     此选项告诉javah将产生的所有文件头或存根文件
             都放到一个单独的文件"outputfile"中。
  -d directory     此选项告知javah把产生的文件头或存根文件放入
             给定目录。
  -td directory     此选项告知javah 程序把临时文件放入目录
             "dirrctory"而不是tmp目录中。
  -stubs         此选项告知javah将产生存根文件而非头文件。
  -verbose       此选项告知javah将产生文件的状态输出到标准输出
             设备。
  -classpath path    此选项告知javah用"path"目录寻找类文件,多个
             目录之间应用分号分开。

        表2-3 javah命令行选项

2.5 javap反汇编器

  javap命令反汇编一个java字节代码文件, 返回有关可变部分和成员函数的信息,其命
令行如下:
   C:}javap options classname additionalClasses
  javap的标准输出是公有变量和类的成员函数。下面是一个输出实例, 它显示的是用
javap处理一个简单的java小应用的字节代码所得的结果,该java 小应用将在第五章中再次
提到。
  图2-4 java反汇编器javap输出实例
  javap反汇编器的命令行选项如表2-4:


   选项              功能
  ──────────────────────────────────
  -h           此选项将建立能够放入C头文件中的信息
  -p           此选项将使javap输出私有和公有的成员函数和变量
  -c           此选项将使javap为各成员函数输出实际已编译过的
             字节代码
  -classpath path    此选项将使得javap在路径path中寻找Java类
  -v           输出所有的信息
  -verify        运行校验器以验证并显示出调试信息
  -version       输出javap的版本信息

        表2-4 javap反编译器命令行选项

2.6 Java调试器jdb

  Java调度器为Java程序提供了一个命令行调试环境。它既可在本地,也可在与远程的解
释器的一次对话中执行。
  jdb于本地机器中可用如下的命令启动:
  C:}jdb classname
  当你使用-debug选项开始一个Java例程时, 必须提供给Jdb 一个密码, 这样 Jdb才能
开始运转起来。表2-5包含了所有jdb命令。


    命令            功能
  ──────────────────────────────────
  catch calssID     为特定异常出口而中断
  classes        列出当前已知的类
  clear classID:line   清除一个断点
  cont         从断点处继续执行
  down[n frames]     下移一个线程的堆栈
  dump ID[ID...]     显示所有对象信息
  exit(或quit)     退出调试器
  help(或?)       列出所有命令
  ignore classID     忽略特定的异常出口
  list[line number]   显示源代码
  load classbame     载入要调试的Java类
  locals         在当前堆栈帧中显示所有局部变量
  memory         报告内存使用情况
  methods classID    列出一个类的成员函数集
  print ID[ID...]    列出对象或域
  resume [threadID...] 恢复线程(默认情况恢复所有线程)
  run class [args]   开始执行已下载的Java类
  step         执行当前行
  stop in classID:method 在一成员函数中设一断点
  stop at classID:line 在一行设一断点
  suspend[threadID...] 停止一个线程(默认情况停止所有线程)
  threads threadgroup  列出线程
  thread threadID    设置当前线程
  threadgroups     列出线程组
  threadgroup name   设置当前线程组
  up [n frames]     上移一个线程堆栈
  use [path]       显示或改变源程序路径
  where [threadID] or all 使一线程的堆线置空
  !!           重复上一次命令

         表2-5 jdb调试器命令一览


  除了调试期间可用的命令,还有两个可选的命令行变量。它们可用于远程调试。具体用
法如下所示:
  -host hostname 该命令告诉Jdb到哪里去建立远程运行的Java解释器对话过程
-password password
    本选项告诉Jdb 用哪个密码去与远程运行的Java 对话进程相连接。 密码
password是由运行带有-debug选项的Java解释器所提供的。
2.7 Javadoc API文件产生器
  Javadoc程序读取一个Java类文件并自动创建一组HTML文件,这些HTML 文件描述了
Java类文件的类、变量、成员函数,所有Java类库的APIHTML 文件都可以由此程序创建。
Javadoc把软件包名或源文件列表当做一个变量。Javadoc依靠以@打头的备注标记来创建
HTML文件,下面就是标注的列表,它们被Javadoc用于在HTML 文件中创建链接。


      标记             功能
  ──────────────────────────────────
  @see classname       此标注在类列表中增加一个到所提供类的
                "See Also"条目。
  @see classname # method- 此标注创建一个到特定的成员函数的"See
   name           Also"条目。
  @version text       此标注在HTML文件中加入一个版本信息条目
  @author text       此标注在HTML文件中加入一个作者信息条目
  @param name description  此标注用成员函数备注来描述一个成员函数
                所带变量
  @return description    此标注用成员函数备注来描述返回值
  @exception classname   此标注用成员函数备注来连接成员函数产生
                的异常出口

         表2-6 Javadoc所用的标记


  除此以外,Javadoc还可以使用两个命令行参数:
  -classpath path
  此命令行指定寻找Java文件的目录
  -d directory
  此命令行指定用来放入最终HTML文件十分有用。通过对它的使用,可让你在源代码中加
入更多的注释,这对提高程序的可读性来说是非常有用的。

--
                  __     _                        ___
                 |  |  /  |     _______        __|   |
                 |  |/   /     |__   __|     /   _   |
                 |   __  \      __| |__     |  ( _|  |
                 |__|  \__|    |_______|     \ ______|
                                                        哈哈,我是kid啊,你又是?

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.32.249]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店