1.概述
   javac.exe: Java编译器,将Java源代码转换成字节码。
2.用法
   javac <选项> <源文件>
(使用过程中发现,javac <源文件><选项> 也可以
   其中,可能的选项包括:
  -g                                   生成所有调试信息
  -g:none                          不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                          不生成任何警告
  -verbose                         输出有关编译器正在执行的操作的消息
  -deprecation                    输出使用已过时的 API 的源位置
  -classpath <路径>           指定查找用户类文件和注释处理程序的位置
  -cp <路径>                      指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>        指定查找输入源文件的位置
  -bootclasspath <路径>   覆盖引导类文件的位置
  -extdirs <目录>               覆盖安装的扩展目录的位置
  -endorseddirs <目录>     覆盖签名的标准路径的位置
  -proc:{none,only}             控制是否执行注释处理和/或编译。
  -processor <class1>[,,...]要运行的注释处理程序的名称;绕过默认的搜索进程
  -processorpath <路径>    指定查找注释处理程序的位置
  -d <目录>                         指定存放生成的类文件的位置
  -s <目录>                         指定存放生成的源文件的位置
  -implicit:{none,class}        指定是否为隐式引用文件生成类文件
  -encoding <编码>            指定源文件使用的字符编码
  -source <版本>                提供与指定版本的源兼容性
  -target <版本>                 生成特定 VM 版本的类文件
  -version                            版本信息
  -help                                输出标准选项的提要
  -Akey[=value]                  传递给注释处理程序的选项
  -X                                    输出非标准选项的提要
  -J<标志>                         直接将 <标志> 传递给运行时系统
 
3.用法举例
 
 3.1举例说明
 
 3.1.1源文件内容
 
JavaTest.java
import java.util.Date;
public class JavaTest {
public static void main(String[] args) {
System.out.println("hello fans." + " Javac test.");
//已过时
Date date = new Date(2012,5,3);
}
}

3.1.2 位置
    位于C盘JavaBinToolsDemo目录

 
 3.1.3 切换目录
    cd C:\JavaBinToolsDemo
   提示:在dos和linux终端,按tab键会有提示,比如输入javac Java再按tab键,如果只有一个以Java开头的文件,会自动补全。
 
 3.1.4编码
   在win7下使用记事本创建,编码为ASCI。
 
 3.2 七个例子
 
  3.2.1 直接编译JavaTest.java
  javac JavaTest.java
  如果没有语法错误,会在JavaBinToolsDemo下生成JavaTest.class文件。
 

 
 3.2.2 打印版本号
  javac -version JavaTest.java
  或者 javac JavaTest.java -version
  控制台输出‘javac’和 当前版本号,比如javac 1.6.0_29
 
3.2.3 输出有关编译器正在执行的操作的消息
  javac -verbose JavaTest.java
 
 
 3.2.4 输出使用已过时的 API 的源位置
   javac -deprecation JavaTest.java

  
 3.2.5 指定源文件使用的字符编码
  将JavaTest.java使用记事本另存为UTF-8格式。
  javac  -encoding UTF-8 JavaTest.java
 
  一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成。在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:\65279”的错误,但是用Eclipse进行编译却没有问题,原因在于Eclipse使用的是自己的JDT,而非javac,关于JDT的描述可以到eclipse的官网上去查看。
 
  使用EditPlus软件修改为UTF-8(EditPlus另存为UTF-8指的是没有加入BOM标识)编码后,再次执行。
    javac  -encoding UTF-8 JavaTest.java
 
 
 3.2.6 禁用警告信息
   javac  -nowarn JavaTest.java
   执行结果却仍然有警告,具体原因不详,有待探究。
 
javac JavaTest.java编译以下代码,没有产生任何警告。
 
//即使编译以下代码
//此段代码在eclipse中会提示DeadCode
if(true){
}else{
System.out.println("hello fans." + " Javac test.");
}
}

 3.2.7 编译多个文件
   在JavaTest.java所在目录下,新建JavaTest2.java
   javac  -encoding UTF-8 *.java
   值得探讨的问题是,现在的警告信息仍然只有一次。
   猜测:如果使用已经过时的API,警告信息会自动出现,-nowarn选项没有用。
 

JDK工具(一)–Java编译器javac的更多相关文章

  1. [置顶] JDK工具(一)–Java编译器javac

    1.概述    javac.exe: Java编译器,将Java源代码转换成字节码. 2.用法    javac <选项> <源文件> (使用过程中发现,javac <源 ...

  2. 使用JDK工具进行Java服务器应用程序故障排除

    Java性能调优指南–有关提高Java代码性能的各种技巧. 最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 1. 介绍 在Java世界中,我们大多数人习惯于在Java应 ...

  3. 三、jdk工具之jstack(Java Stack Trace)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  4. 通过JDK常用工具监控Java进程的内存占用情况

    目录 1 JDK 工具的使用 2 查看 GC 日志信息 3 添加 JMS 远程监控 Tomcat是一款常用的Web容器, 它是运行在 JVM(Java Virtual Machine) 中的一个Jav ...

  5. 五、jdk工具之jmap(java memory map)、 mat之四--结合mat对内存泄露的分析、jhat之二--结合jmap生成的dump结果在浏览器上展示

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  6. 八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  7. 十、jdk工具之Jdb命令(The Java Debugger)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  8. JDK 工具列表

    jar — 一个创建和管理 jar 文件的工具. java — Java 应用启动器.在这篇文章里,开发和部署都是用的这个启动器. javac — Java 编译器. javadoc — API 文档 ...

  9. JDK安装、java环境配置

    JDK是Java语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. JRE(Java ...

随机推荐

  1. kindEditor编写插件遇到的问题

    kindEditor是一个功能强大的在线文本编辑器,而且提供了插件扩展功能,更好的满足用户各方面的需求.在项目中,我们就有如此的需求:在kindEditor编辑器中,添加一条下划线,并且在下划线的中间 ...

  2. Activiti BPMN 2.0 designer eclipse插件安装

    官方网是这样说的: https://www.activiti.org/userguide/index.html#springSpringBoot The following installation ...

  3. 3ds max打造诱人三维水果教程:鸭梨_3dmax教程

    本系列我们介绍用3DsMAX打造美味诱人水果的实例,入门者可以按照步骤学习简单的造型和材质设定.之前我们介绍了苹果和桔子的绘制方法,今天我们介绍的主角是——鸭梨. 进入“创建”命令面板.选择“图形”按 ...

  4. 优动漫PAINT-绘制透明布料教程

    原是一篇日语教程,觉得挺不错的,就劳烦会日语的朋友帮忙翻译了,特此分享!希望可以帮助到大家在绘画上的学习!原教程转载优动漫官网. 作者:JaneMere 相关资讯还可以关注www.dongmansof ...

  5. BZOJ 2794 [Poi2012]Cloakroom(离线+背包)

    2794: [Poi2012]Cloakroom Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 406  Solved: 241[Submit][St ...

  6. redis做成windows服务

    打开cmd切换到redis根目录 执行安装命令  redis-server.exe --service-install redis.windows.conf --loglevel verbose 卸载 ...

  7. 【Paper Reading】Object Recognition from Scale-Invariant Features

    Paper: Object Recognition from Scale-Invariant Features Sorce: http://www.cs.ubc.ca/~lowe/papers/icc ...

  8. MHA搭建及故障维护

    MHA是一种方便简单可靠的MySQL高可用架构,具体的介绍我在这里就不多说了,下面是我在网上找的一个教程,我在此基础上进行了一些修改: 大致步骤 (一).环境介绍 (二).用ssh-keygen实现四 ...

  9. 洛谷 P1033 自由落体

    P1033 自由落体 题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公 ...

  10. APP-午饭去哪吃

    走到这个快节奏的城市中.部门聚餐.朋友吃饭这些都是日常生活中时有发生的事情,往往吃的东西都是千篇一律,图的也仅仅剩下的是环境了.那么.非常纠结常常去的地方,怎么办呢?来吧.我们随机摇一个吧! wate ...