学会用Java命令行——别太依赖IDE!

Javac编译器读取Java源代码,并将其编译成字节代码,调用Javac的命令行如下:
  C:\>javac options filename.java
  值得注意的是,和Java解释器不同,Javac 编译器期望它正在编译的文件具有扩展名.Java。其命令行如下表
-classpath path 此选项用于设定路径,在该路径上Javac寻找需被调用的类。该路径是一个用分号分开的目录列表。 
-d directory 此选项指定一个根目录。该目录用来创建反映软件包继承关系的目录数。 
-g 此选项在代码产生器中打开调试表,以后可凭此调试产生字节代码。 
-nowarn 此选项禁止编译器产生警告。 
-o 此选项告诉javac优化由内联的static、final以及privite成员函数所产生的码。 
-verbose 此选项告知Java显示出有关被编译的源文件和任何被调用类库的信息。

Java解释器可用来直接解释执行Java字节代码,具体命令行格式如下:

  C:\>java options className arguments
  className必须包括所有软件包信息。不仅有类名本身,还有Java 解释器所期望的类名(不是Java字节代码的文件名),所有在解释器环境下运行的类都必须包括解释器第一次调用时所需的main成员函数,用以传递命令所带的变量。

public static void main(string args[])
  {
   ......
  }
  下面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 此选项允许用户在运行时改变属性值。 


Java调度器为Java程序提供了一个命令行调试环境。它既可在本地,也可在与远程的解释器的一次对话中执行。
  jdb于本地机器中可用如下的命令启动:

  C:\>jdb classname
  当你使用-debug选项开始一个Java例程时, 必须提供给Jdb 一个密码, 这样 Jdb才能开始运转起来。下表包含了所有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...] 停止一个线程(默认情况停止所有线程) 
hreads threadgroup 列出线程 
thread threadID 设置当前线程 
threadgroups 列出线程组 
threadgroup name 设置当前线程组 
up [n frames] 上移一个线程堆栈 
use [path] 显示或改变源程序路径 
where [threadID] or all 使一线程的堆线置空 
!! 重复上一次命令 
-host hostname 该命令告诉Jdb到哪里去建立远程运行的Java解释器对话过程 
-password password 本选项告诉Jdb 用哪个密码去与远程运行的Java 对话进程相连接。 密码 password是由运行带有-debug选项的Java解释器所提供的。

 

注:如果出现中文乱码时,在javac编译代码时添加以下选项:-encoding utf-8(或gbk,由文本编码格式决定)

你可能感兴趣的:(java,C++,c,C#,ide)