`

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

    博客分类:
  • Java
阅读更多

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版——使用Junit

    6. **运行测试**:使用IDE(如Eclipse、IntelliJ IDEA)内置的Junit支持,或者通过命令行运行Junit测试套件。 7. **查看测试结果**:测试失败时,Junit会显示失败的测试用例及具体的失败信息,帮助我们定位问题。 ...

    手工完成java项目(一)——J2SE项目

    【标题】"手工完成java项目(一)——J2SE项目"揭示了这个压缩包文件是关于使用Java标准版(J2SE)进行项目开发的教程。在Java领域,J2SE代表Java 2 Platform, Standard Edition,它是Java平台的核心,主要用于桌面...

    Java 第2章 java开发环境(入门准备)含源代码

    在这个章节中,我们将深入理解Java开发环境的重要性,了解如何安装JDK(Java Development Kit),设置环境变量,以及如何使用集成开发环境(IDE)进行编码。 首先,JDK是Java开发的核心组件,它包含了一系列用于...

    使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

    虽然使用命令行工具来编译和运行MapReduce程序是一种常见的做法,但是对于频繁的开发和调试工作,使用IDE(如Eclipse)可以大大提高效率。 在Eclipse中,可以轻松地管理项目依赖、编译代码以及打包成JAR文件。此外...

    java开发环境及组件配置文档

    在安装过程中,确保选择添加系统路径,这样可以在命令行中直接使用`javac`和`java`命令。 配置环境变量是Java开发环境中不可或缺的步骤。主要涉及两个环境变量:`JAVA_HOME`和`PATH`。`JAVA_HOME`应指向JDK的安装...

    java8jdk.zip

    - 创建Java源文件:使用文本编辑器或IDE(如IntelliJ IDEA, Eclipse)创建`.java`文件,编写Java代码。 - 编译Java源文件:使用`javac`命令将源代码编译为字节码`.class`文件,例如`javac HelloWorld.java`。 ...

    tomcat源码阅读(一)——环境搭建

    1. **Java Development Kit (JDK)**:Tomcat是用Java编写的,所以你需要安装JDK,并配置好环境变量,使得命令行可以识别`javac`和`java`命令。 2. **Maven**:Maven是一个项目管理工具,用于构建、依赖管理和项目...

    五子棋源码和可执行文件(JAVA)

    虽然Eclipse下编译通过,但并不保证在其他JAVA IDE或命令行环境下也能正常工作,因为编译设置、依赖库等因素可能不同。 标签中的"计算机"表明这是一项与计算机科学相关的项目,而"五子棋"和"源码"则强调了这是关于...

    使用SUBCLIPSE——针对ECLIPSE的SUBVERSION插件

    **使用SUBCLIPSE——针对ECLIPSE的SUBVERSION插件详解** Subversion(简称SVN)是一种广泛使用的版本控制系统,它提供了比CVS更先进的功能,如版本化的文件重命名、目录操作以及元数据版本控制。SVN还支持原子提交...

    mysql-connector-java-8.0.17.zip

    对于命令行环境,可以在运行Java程序时使用`-cp`或`-classpath`参数指定包含jdbc驱动的路径。 3. 连接MySQL数据库:使用`DriverManager.getConnection()`方法建立连接,需要提供数据库URL、用户名和密码。例如: `...

    emma最新版——一款很小巧很好用的java单测覆盖率统计工具

    2. **命令行工具**:EMMA提供了命令行接口,允许用户在没有IDE的情况下进行覆盖率分析,这对于持续集成(CI)环境特别有用。 3. **报告生成**:EMMA可以生成HTML、XML等多种格式的覆盖率报告,便于查看和分析。报告...

    mysql-connector-java-5.1.40-bin

    1. 添加依赖:在Java项目中,需要将mysql-connector-java-5.1.40-bin.jar添加到项目的类路径中,这可以是IDE的构建路径,或者如果是命令行编译,将其放在系统的CLASSPATH环境变量中。 2. 连接配置:通过`java.sql....

    利用java发布服务(jar包).pdf

    在给定文件的标题和描述中提到了“利用Java发布服务(jar包)”,这涉及到Java开发中的一个重要环节——如何将Java程序打包并发布成服务。首先,要了解JAR文件是什么以及它在Java开发中的作用。JAR(Java Archive)...

    使用java 连接sql server2000 jar包

    这可以通过在IDE(如Eclipse、IntelliJ IDEA)中设置项目构建路径,或者在运行Java应用程序时使用-cp或-classpath命令行选项来完成。 接下来,我们需要了解JDBC的基本使用方法。JDBC是Java与数据库交互的标准API,...

    有关java的记事本编程

    使用记事本进行Java编程是一种基础且实用的方法,它可以帮助初学者更好地理解编程的基本概念,因为这种方式不依赖于复杂的集成开发环境(IDE),能让初学者专注于代码本身。 在“有关java的记事本编程”主题中,...

    第一个程序——计算器 供参考

    标题中的"第一个程序——计算器"指的是在编程学习过程中编写的首个应用示例,通常是一个简单的命令行或图形用户界面(GUI)程序,用于执行基本的数学运算。在Java编程语言中,初学者经常通过创建一个计算器来熟悉...

    mysql连接java

    在这个场景下,我们关注的是如何使用Java连接MySQL数据库,以及涉及到的关键组件——`mysql-connector-java-5.1.44-bin.jar`。 `mysql-connector-java-5.1.44-bin.jar` 是MySQL提供的Java数据库连接器(JDBC驱动)...

    mysql-connector-java-5.1.47.zip

    在这个压缩包文件“mysql-connector-java-5.1.47.zip”中,包含了一个重要的组件——“mysql-connector-java-5.1.47.jar”,这是驱动程序的主要文件。 JDBC 是 Sun Microsystems(现已被 Oracle 公司收购)为 Java ...

Global site tag (gtag.js) - Google Analytics