javac和java的作用

本文解释了Java的编译过程及如何通过JDK中的工具实现。具体来说,使用javac.exe将源代码文件(如Hello.java)编译成字节码文件(如Hello.class),再利用java.exe执行该字节码文件。

一直没有明白java是怎么编译的,前几天才明白,实际是jdk/bin中的javac.exe用来编译XXX.java文件生成XXX.class文件,然后用java.exe来执行输出结果(相当于eclipse的run功能)。
比如:javac Hello.java ,(要加上后缀,原因大概是这个命令还可以执行其他类型的文件,例如,我输入javac Hello.txt,提示:错误: 仅当显式请求注释处理时才接受类名称 ‘Nihao.txt’)
java Hello (不用后缀.class,默认就只是执行.class)
可以参考:https://www.cnblogs.com/mfryf/p/3159084.html

### Javajavac 的区别与关系 Java 是一种广泛使用的编程语言,其设计目标是使开发人员能够编写一次,到处运行(Write Once, Run Anywhere)。Java 程序在 Java 虚拟机(JVM)上运行,而 JVM 是跨平台的,这意味着 Java 应用程序可以在任何支持 JVM 的设备上运行,无需重新编译 [^1]。 #### javac作用 `javac` 是 Java 编译器命令,用于将 Java 源代码文件(.java 文件)编译成 Java 字节码文件(.class 文件)。这个过程是将高级语言转换为 JVM 可以理解执行的低级语言。例如,如果有一个名为 `YourFile.java` 的源文件,可以通过运行 `javac YourFile.java` 命令来编译它,生成对应的 `.class` 文件 [^1]。 #### java 命令的作用 另一方面,`java` 命令用于启动 Java 应用程序。它通过调用 JVM 来执行编译后的 `.class` 文件。例如,如果 `YourFile.class` 是编译后的文件,可以通过运行 `java YourFile` 来执行该程序 。 #### 版本差异的影响 有时,用户可能会遇到 `java` `javac` 版本不一致的情况。这是因为 JDK(Java Development Kit)包含了开发 Java 应用程序所需的工具,包括 `javac` 编译器,而 JRE(Java Runtime Environment)仅包含运行 Java 应用程序所需的组件。当安装了多个版本的 JDK 或 JRE 时,系统路径设置不当可能导致 `java` `javac` 使用不同的版本。解决这个问题的一种方法是调整系统的 PATH 环境变量,确保指向期望的 JDK 版本 [^2]。 #### 使用示例 在 Linux 系统下,可以使用如下命令来编译运行 Java 程序: ```bash /usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin /tmp/javatest/src/jp/co/realseed/Capability.java ``` 这条命令指定了类路径(`-classpath`)、输出目录(`-d`)以及要编译的源文件的位置 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值