美文网首页
五、java相关命令

五、java相关命令

作者: 城市里永远的学习者 | 来源:发表于2018-11-20 13:49 被阅读0次

一、javac -verbose Book.java
编译java文件成class文件,同时可以看到jar的加载过程。


image.png

从这个结果可以看出, java compiler 至少做了 1.分析 java 源文件 2.搜索源文件路径 3.搜索类文件路径 4.加载依赖的类 5.把结果写入 .class 文件
其中 javac 主要的作用就是把 java 源文件编译为 class 文件,class 文件中主要有三部分,一是 class 常量池,二是 java 类的各种属性结构,三是 method info 结构中的code[] 中保存的字节码指令序列,这三部分中,指令序列主要对应了 java 源文件中的方法中的语句;各种属性结构,主要对应了类中各种标识符的签名标签、属性修饰等,比如 字段、方法、接口、类 的各种修饰符,还有 method 签名的结构,比如 返回值、参数列表中的参数类型;常量池主要就是保存类的定义中涉及到的常量数据,比如 int long float double utf-8,其中所有涉及到的标识符、字符串最终就保存为 utf-8 形式。jvm 在执行这个 class 文件中的函数的时候,很重要的工作就是解析这些符号引用。
二、javap -verbose StackTest
查看字节码指令,可以通过指令分析执行过程,同时用sublime打开class文件,可以查看其16进制文件


image.png
并且通过 指令偏移量-助记符,应用程序计数器、局部变量表、栈帧操作数来做示意图,具体可以参见 文章六、 Class字节码指令解析

相关文章

  • 五、java相关命令

    一、javac -verbose Book.java编译java文件成class文件,同时可以看到jar的加载过程...

  • JVM相关命令与常见问题定位过程

    相关命令 jps命令 java提供的一个显示当前所有java进程pid的命令 参数: 参考链接: Java命令学习...

  • java相关命令

    1.compile javac -cp .:../build/:../../lib/jelly_blast.jar...

  • java相关命令

    1.java -version 查看Java版本2./usr/libexec/java_home -V 查看jdk版本

  • java环境相关命令

    curl-L"http://download.oracle.com/otn-pub/java/jdk/8u161-...

  • 详解 System 与 Runtime

    java 程序在不同的操作系统上运行的时候,可能需要获取平台相关属性,或者调用相关命令来完成特定功能. java提...

  • centos7安装jdk

    1.卸载系统自带的OpenJDK以及相关的java文件 (1)命令行输入Java -version查看OpenJD...

  • jvm性能分析命令总结

    Jvm性能分析命令总结 jps -l 列出java相关的进程 图例: jmap -histo pid**** | ...

  • JVM相关工具使用技巧

    本文总结JDK自带的JVM相关工具使用技巧。 java java命令用来启动一个JVM来执行Java应用程序。ja...

  • (I)Maven安装目录分析

    目录结构和内容 bin/ 包含了mvn运行的脚本,用来配置Java命令,准备好classpath和相关的Java系...

网友评论

      本文标题:五、java相关命令

      本文链接:https://www.haomeiwen.com/subject/wpotqqtx.html