<script type="text/javascript">
document.body.oncopy = function () {
if (window.clipboardData) {
setTimeout(function () {
var text = clipboardData.getData("text");
if (text && text.length > 300) {
text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href;
clipboardData.setData("text", text);
}
}, 100);
}
}
</script><script type="text/javascript"> function StorePage() { d = document; t = d.selection ? (d.selection.type != 'None' ? d.selection.createRange().text : '') : (d.getSelection ? d.getSelection() : ''); void (keyit = window.open('http://www.365key.com/storeit.aspx?t=' + escape(d.title) + '&u=' + escape(d.location.href) + '&c=' + escape(t), 'keyit', 'scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }</script>
javac
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp
<路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs
<目录> 覆盖安装的扩展目录的位置
-endorseddirs
<目录> 覆盖签名的标准路径的位置
-d
<目录> 指定存放生成的类文件的位置
使用-d参数,如类中定义了包,则编译时会自动生成
包, 如:javac -d . helloworld.java
表示在当前目录下编译Helloworld
类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志>
传递给运行时系统
java
用法: java [-选项] 类 [参数...]
(执行一个类)
或者 java [-选项] -jar jar文件 [参数...]
(执行一个jar文件)
其
中,可能的选项包括:
-client 选择 "client" VM(ginger547:应该是指Virtual
Machine)
-server 选择 "server" VM
-hotspot 与
"client" VM同义 [不赞成]
默认情况的VM是client.
-cp
<一个文件夹和zip/jar文件组成的类搜索路径>
-classpath
<一个文件夹和zip/jar文件组成的类搜索路径>
一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表
-D<名字>=<值>
设置一个系统属性
-verbose[:class|gc|jni]
使详细输出变的可用
-version 打印产品版本然后退出
-version:<值>
只运行指定版本
-showversion 打印产品版本后继续
-jre-restrict-search |
-jre-no-restrict-search
在版本搜索的时候,包含/排除用户私人的JRE
-? -help 打印帮助信息
-X 打印非标准选项帮助
-ea[:<包名>...|:<类名>]
-enableassertions[:<包名>...|:<类名>]
使断言可用
-da[:<包名>...|:<类名>]
-disableassertions[:<包名>...|:<类名>]
是断言不可用
-esa | -enablesystemassertions
使系统级断言可用
-dsa | -disablesystemassertions
使系统级断言不可用
-agentlib:<库名>[=<选项>]
加载本地代理库<库名>,例如. -agentlib:hprof
同时可查看,
-agentlib:jdwp=help和 -agentlib:hprof=help
-agentpath:<路径名>[=<选项>]
通过全路径名来加载本地代理库
-javaagent:<jar路径>[=<选项>]
加载Java编程语言代理,可查看 java.lang.instrument
在命令行下编译一般写个批处理来进行编译,执行
分享到:
相关推荐
### Java命令行编译详解 在深入探讨Java命令行编译的具体细节之前,我们先简要回顾一下Java的编译过程。Java是一种广泛使用的高级编程语言,它支持跨平台运行,这得益于Java虚拟机(JVM)的存在。当开发者编写完...
在Java编程中,命令行编译是学习和工作中不可或缺的一部分,尤其是在没有集成开发环境(IDE)的情况下。本文将深入探讨如何在命令行环境下编译和运行包含包结构的Java程序。 首先,Java中的包(package)是用来组织...
命令行状态下编写Java程序 注意: Java源代码文件的扩展名必须是.java,文件名必须与公共类名完全相同。 2. 编译Java程序 可执行文件javac.exe位于Java安装目录的bin子目录中,称为Java编译器 (Java Compiler——...
Java命令行工具是Java开发中的基础部分,它们允许开发者在没有图形用户界面(GUI)的情况下执行各种任务。这篇博文可能探讨了如何利用Java的命令行工具进行程序的编译、运行和其他相关操作。在Java中,命令行工具...
Java命令参数大全是Java开发者日常工作中不可或缺的一部分,它包含了运行Java程序时所需要的各种选项和配置。这份PDF文档详细列举并解释了Java命令行接口(JVM)的各种参数,旨在帮助开发者更好地理解和使用Java...
### Android命令行手动编译打包详解 #### 一、引言 随着移动互联网技术的快速发展,Android已经成为全球最大的移动操作系统之一。对于开发者来说,掌握如何使用命令行进行Android项目的编译与打包是非常重要的技能...
Java虚拟机(JVM)负责解释和执行这些字节码。 Java反编译的主要目的是在没有源代码的情况下,还原出接近原始的源代码,帮助开发者分析程序逻辑。然而,由于字节码不包含原始的变量名、注释和其他非必要信息,反...
字节码不是直接执行的,而是由Java虚拟机(JVM)解释执行。JVM提供了类加载器、执行引擎、垃圾收集器等核心组件,确保了Java程序的高效运行。 4. **JVM的类加载机制** 类加载器负责查找并加载类文件,包括加载类...
Java虚拟机(JVM)负责解释执行这些字节码。反编译则是将字节码还原成人类可读的源代码形式。 1. **反编译工具**: - **JD-GUI**:一款图形化界面的Java反编译工具,可以直接打开并查看单个或多个类文件的源代码。...
例如,如果有一个名为`Hello.java`的源文件,我们可以通过在命令行输入`javac Hello.java`来编译它,生成`Hello.class`文件。这个字节码文件可以在任何安装了相应JRE的系统上运行。运行编译后的Java程序,可以使用`...
在运行时,JVM(Java虚拟机)会解释执行这些字节码,实现跨平台运行。 反编译的概念是对已编译的二进制代码进行逆向工程,恢复其原始的源代码形式。对于Java,这意味着将.class文件转换为.java文件。尽管这个过程...
命令行中执行`javac HelloWorld.java`会生成`HelloWorld.class`文件。如果程序包含多个类,`javac`可以一次编译整个目录结构。 3. **错误处理**:`javac`在编译过程中会检查语法和类型错误,如果发现错误,会显示...
Java虚拟机(JVM)负责解释执行这些字节码。 然而,字节码本身并不包含源代码信息,因此,如果需要查看或理解字节码所对应的源代码,就需要用到反编译工具。常见的Java反编译软件有JD-GUI、FernFlower、Procyon等。...
字节码可以在任何支持Java的平台上运行,由Java虚拟机(JVM)解释执行。然而,字节码并不直接对应于源代码,因此无法直接阅读。反编译工具正是解决这一问题的手段,它尝试从字节码中重构出尽可能接近原始源代码的...
- 对于编译阶段,可以通过`javac -classpath <path>`来指定编译时的classpath。 - 运行时,使用`java -classpath <path> <classname>`来指定运行时的classpath。 - **示例**:假设有一个名为`com.example`的包,...
4. **命令行工具**:对于那些习惯于使用命令行的开发者,Java编译小助手可能提供了一个图形界面,将常见的命令行操作如`javac`, `jar`等进行封装,方便快捷地进行编译和打包操作。 5. **多模块项目**:在处理包含多...
1. **临时设置**:在编译或运行时通过命令行参数设置: ``` javac -classpath C:\JavaTest Hello.java java -classpath C:\JavaTest Hello ``` 2. **永久设置**:通过操作系统的环境变量设置: - 打开“系统...
要将Java源代码转换为可执行的机器代码,我们需要使用Java的编译器`javac`。在命令行中,导航到包含`HelloWorld.java`的目录,然后运行: ``` javac HelloWorld.java ``` 这个命令将生成一个名为`HelloWorld....
按下“Ctrl+1”将执行javac编译,如果代码无误,将会在控制台看到成功编译的提示。接着,按下“Ctrl+2”将运行已编译的Java程序,控制台将显示程序的运行结果。 通过上述步骤,EditPlus已经成为了一个轻量级的Java...
- `java`:Java解释器,执行编译后的.class文件。 - `jar`:创建、管理和提取Java归档(JAR)文件。 - `javadoc`:生成API文档。 - `jconsole`:监视Java应用程序的性能和资源使用情况。 - `jvisualvm`:一个...