第2部分(第1/5 页)
继续搜索C:javadocclasses目录中的所有文件,以此类推。
…ddirectory指明类层次的根目录,格式如下:javac…dMyProgram。java这样将MyProgram。java程序里的生产的。class文件存放在my_dir目录里。
…g带调试信息编译,调试信息包括行号与使用java调试工具时用到的局部变量信息。如果编译没有加上…O优化选项,只包含行号信息。
…nowarn关闭警告信息,编译器将不显示任何警告信息。
…O优化编译static,final,private函数,注意你的类文件可能更大。
…verbose让编译器与解释器显示被编译的源文件名和被加载的类名。
环境变量
CLASSPATH用来提?copy;给系统搜索用户定义的类的缺省路径。各路径由分号隔开,例如:。;C:javadocclasses;C:toolsjavaclasses表示编译器遇到一个新类,它先在本文件中查找它的定义,如果没有,则在本文件所处目录下其它文件中查找它的定义,如果还没有,则继续搜索C:javadocclasses目录中的所有文件,以此类推。
2。1。2Java程序的调试使用java调试器
jdb导游在早期前Betal版的Java调试器jdb是命令行形式的,如用Sun公司的dbx调试器。用jdb来调试Java应用程序,在调试前,要确证你的应用程序是带标志-g编译的。例如:javac…gHelloWorld。javahelp命令将显示jdb里的可用命令列表。
》helpthreads'threadgroup'……列出线程thread--设置缺省线程Suspend'threadsid(s)'--将线程挂起resume'threadid(s)'--重新启动线程where'id'|a1|--打印线程的堆栈threadgroups……列出线程组号threadgroup--设置当前线程组print'id(s)'--打印对象或域dump'id(s)'--打印所有对象信息locals--打印当前堆栈所有局部变量classes--列出当前所知的类methods--列出一个类的成员函数stopin。--在一个成员函数里设置断点stopat:--在一行里设置断点up'nframes'--在线程堆栈里往上移down'nframes'--在线程堆栈里往下移clear:--清除一个断点step--执行当前行cont--从断点处继续执行catch--为指定的情况中断ignor--为指定的情况忽略list'linenumber'--打印源程序use'Sourcefilepath'--显示或改变源路径memeory--报告内存使用情况loadclassname--加载Java类以便调试run--开始执行加载的类!!--重复以上的命令help(?)--列出所有的命令exit(orquit)--离开调试器
2。1。3Java程序的执行
java…java语言解释器java命令解释java字节码语法:java'options'classnamejava_g'options'classname
描述:java命令由java编译器javac输出的Java字节码。classname参数是要执行的类名称。注意任意在类名称后的参数都将传递给要执行类的main函数。java执行完main函数后推出,除非main函数创建了一个或多个线程。如果main函数创建了其它线程,java总是等到最后一个线程推出才推出。
选项:
…cs;…checksource当一个编译过的类调入时,这个选项将比较字节码更改时间与源文件更改时间,如果源文件更改时间靠后,则重新编译此类并调入此新类。
…classpathpath定义javac搜索类的路径。它将覆盖缺省的CLASSPATH环境变量的设置。路径是由一?copy;由逗号隔开的路径名组成,一般格式如下:。;例如:。;C:javadocclasses;C:toolsjavaclasses表示解释器遇到一个新类,它先在本文件中查