首页

源码搜藏网

首页 > 开发教程 > 软件工程 >

Java千百问_08JDK详解(007)_javac是什么

创建时间:2016-06-19 11:17  

点击进入_更多_Java千百问

1、javac是什么

javac即Java编程语言编译器,位于jdk/bin目录下,读取使用Java编程语言编写的源文件(.java),并编译成字节码类文件(.class)。编译器会一并编译源代码中的注解(annotations),但是会移除注释

了解注解注释看这里:[注解、注释有什么区别][2]

javac还可以隐式编译一些没有在命令行中提及的源文件。当编译源文件时,编译器常常需要它还没有识别出的类型的有关信息。对于源文件中使用、扩展或实现的每个类或接口,编译器都需要其类型信息。这包括在源文件中没有明确提及、但通过继承提供信息的类和接口。

了解继承看这里:java类的继承有什么意义

2、javac如何使用

javac工具可以再安装了jdk的操作系统中执行。了解如何安装jdk看这里:如何安装和配置Jdk
打开操作系统的命令终端,输入相应的命令行,就能够使用javac,具体语法如下:

javac [ options ] [ sourcefiles ] [ @files ]

其中,参数可按任意次序排列。参数说明如下:

options
命令行选项,直接执行javac或者javac -help会显示所有options操作,主要有:

  1. -classpath
    类路径,设置用户类的路径,它会覆盖CLASSPATH环境变量中的用户类路径。若既未指定CLASSPATH又未指定-classpath,则用户类路径由当前目录构成。多个路径项用分号”;”进行分隔。

  2. -sourcepath
    源路径,指定用来查找类、接口定义的源代码路径。它们可以是目录、jar或zip。要注意的是通过类路径查找,如果找到了其源文件,则会自动被重新编译。与用户类路径一样,多个源路径项用分号”;”进行分隔。
    如果使用包,那么目录或归档文件中的本地路径名必须反映包名。例如要引入package是com.test的源文件(com在src文件夹中),则需要指定com上一级目录:
    javac -sourcepath src Test.java

  3. -d
    指定存放生成的类文件的位置,若不指定,则类文件会放在源文件目录。需要指定已有的目录,不能自动创建文件夹

  4. -encoding
    设置源文件编码,例如utf-8。若未指定-encoding选项,则使用平台缺省的编码

  5. -g
    生成所有的调试信息,包括局部变量。缺省情况下,只生成行号和源文件信息。

  6. -g:none
    不生成任何调试信息。

  7. -verbose
    输出有关编译器正在执行的操作的消息。它包括了每个所加载的类和每个所编译的源文件的有关信息。

  8. -version
    打印javac版本信息,该版本即jdk的版本。

sourcefiles、@files
一个或多个要编译的源文件。

3、如何通过代码执行javac

对于javac,我们不但可以在操作系统中直接执行,它也提供了若干API,可以使用这些API通过编写代码来完成编译。

具体看这里:[如何使用javacAPI通过代码编译源文件][5]

0
0
   
上一篇:Java千百问_02基本使用(009)_eclipse如何设置BuildPath
下一篇:Java千百问_04异常处理(008)_java中常见的错误有哪些

相关内容

热门推荐