java javac javap 命令使用简介

首先我们来写一个简单的JavaTest方法,大致如下:

package com.cuiyongzhi.io;

public class JavaTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int i=0,j=1;
        int n=i+j;
        System.out.println("n================"+n);
    }

}

然后将我们的这个JavaTest.java放入到c盘根目录下,后面我们用javac、java、javap进一步的去了解和运行这个方法的执行步骤!

①javac——负责.java文件的编译

首先当我们在cmd中输入javac的时候我们可以看到很多的提示信息如下,但是我这里说的只是对.java文件的编译命令!

java javac javap 命令使用简介_第1张图片

javac对.java文件的编译命令格式如下:

javac -d destdir srcFile
  • -d destdir是用来指定存放编译生成的.class文件的路径。(若此选项省略,那么默认在当前目录下生成.class文件,并且没有生成包文件夹;当前目录可以用“.”来表示,即:javac -d . srcFile;添加-d选项除了可以指定编译生成的.class文件的路径外,最大的区别是可以将源文件首行的package关键字下的包名在当前路径下生成文件夹)

  • srcFile是源文件.java文件的路径

之前我们是将JavaTest.java放在c盘根目录下,而且我也希望我们生成的class文件也是放入在C盘中,所以我们的编译命令可以如下:

javac -d C:\\ C:\\JavaTest.java

最后执行之后我们可以看到如下结果:

java javac javap 命令使用简介_第2张图片

②前面第一步我们已经通过javac编译过java文件了,并且编译之后class的目录在C:\com\cuiyongzhi\io,在这里我们可以通过java运行class结果如下:

java javac javap 命令使用简介_第3张图片

③javap——可以用于帮助开发者深入了解Java编译器的机制

  • -c 分解方法代码,即显示每个方法具体的字节码

  • -public | protected | package | private 用于指定显示哪种级别的类成员

  • -verbose 指定显示更进一步的详细信息

我们可以查看我们这个编译的Class的相关信息,只需要输入如下命令:

javap -c com/cuiyongzhi/io/JavaTest

我们可以看到编译过的被线程一步步调用的指令 如下图:

java javac javap 命令使用简介_第4张图片

简单的对javac、java、javap的命令讲解就到这里

你可能感兴趣的:(java javac javap 命令使用简介)