Java基础 - javac命令详解之编译 如何使用javac命令编译

createh54个月前 (12-22)技术教程35

1.为什么要搞定 javac 命令

1.javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件;
2.由于当下为了提高开发效率,大多数的开发工作都在 java的 集成开发环境中进行,因此,
也就很少有机会直接使用javac命令来编译我们的代码;

2.javac 命令使用的两个场景

1. javac   源文件  :
          直接编译源文件,并将编译后的.class文件放到与源文件统一目录下;
          
2. javac   源文件   -d   编译文件输出路径 : 
         编译源文件,并将编译后的 .class 文件 放到 -d 参数后的目标路径中;
         
3. javac   源文件   -d   编译文件输出路径  -encoding utf-8 : 
          编译文件, 并将编译后的.class文件放到 -d参数后的目标路径中,
且指定编码格式 为utf-8,解决运行时中文乱码问题。

4.javac @sourcesList_file -d 编译我呢见输出路径 -encoding utf-8 :
       4.1 @soucesList_file : 文件中可以写多个java源文件,这种方式适合编译较大型的java项目,
       4.2 每一个java源文件之间用回车符进行分割;
       4.3 存在多级目录的,在windows下使用`\` ,在linux 下使用 '/' : 
             windows : 'src\com\northcastle\xxx.java'
             linux : 'src/com/northcastle/xxx.java'

2.1 单文件的编译

2.1.0 项目准备

新建一个目录,用于存放我们的项目:
目录结构如下:

2.1.1 java文件内容

》 Hello.java 文件内容如下:

public class Hello {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

2.1.2 执行编译

打开命令行窗口,进入到 test 文件夹下面;
执行命令如下: javac .\src\Hello.java -d target -encoding utf-8
如果没有报错,则执行成功,去target 目录下查看,会生成 Hello.class 文件



2.1.3 运行程序

进入到 target 目录中,使用 java 命令来执行程序。

java Hello


相关文章

阿里P8大牛耗费三年整理的:Java架构之完美设计实战PDF

前言做学问就像爬山,从山脚出发的人很多,能爬到山顶的却寥寥无几。有些人爬得很快,到达半山腰就盖了一所房子住在那里,对爬向山顶没有太大的兴趣。而能够登顶的人,除了要具备必要的技能外,更要有坚强的毅力,不...

Java 代码编译的3种方式,其中JIT最重要!

通过 Javac 将程序源代码进行编译,转换成 Java 字节码,JVM 通过模板方式把字节码翻译成对应的机器指令,逐条读入,逐条解释翻译,执行速度必然比可执行的二进制字节码程序慢得多。为了提高执行速...

Java 21:有什么新变化? java近几年发展变化

【CSDN 编者按】这篇文章详细介绍了Java 21 的新特性和改进。Java 21是新的长期支持(LTS)版本,其中包括了15个Java增强提案(JEPs)。其中最重要的特性之一是虚拟线程的最终化,...

阿里巴巴Java性能调优实战:深入JVM即时编译器JIT,优化Java编译

深入JVM即时编译器JIT,优化Java编译然而许多 Java 开发人员对 JIT 编译器的了解并不多,不深挖其工作原理,也不深究如何检 测应用程序的即时编译情况,线上发生问题后很难做到从容应对。类编...

Java 反编译工具的使用与对比分析

前言Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字节...

Java 核心技术之入门指南:全面解析Java概述

大家好,这里是Java码牛!Java核心技术入门:全面解析Java概述一、引言Java ,作为一门在当今信息技术领域中被广泛应用于企业级开发的主流编程语言,其核心技术的精准掌握对于众多开发者而言,具有...