`

javap查看虚拟机为你做了什么

    博客分类:
  • J2EE
阅读更多
public class Test {

	public static void main(String[] args) {
		
		Integer a = 10;  
		Integer b = 10;  
		System.out.println(a==b);
	}
}

>javac Test.java
>javap -c Test
可以看到如下:

D:\tejiatrunkspace\DesignPatternDemo\src\com>javap -c Test
Compiled from "Test.java"
public class com.Test extends java.lang.Object{
public com.Test();
  Code:
   0:   aload_0
   1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
   4:   return

public static void main(java.lang.String[]);
  Code:
   0:   bipush  10
   2:   invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Int
eger;
   5:   astore_1
   6:   bipush  10
   8:   invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Int
eger;
   11:  astore_2
   12:  getstatic       #3; //Field java/lang/System.out:Ljava/io/PrintStream;
   15:  aload_1
   16:  aload_2
   17:  if_acmpne       24
   20:  iconst_1
   21:  goto    25
   24:  iconst_0
   25:  invokevirtual   #4; //Method java/io/PrintStream.println:(Z)V
   28:  return

}

则知道
运行Integer a = 10;  之后,虚拟机做了:
Integer.valueOf()
分享到:
评论

相关推荐

    javap使用(1).docx

    通过 `javap`,开发者能够深入了解 Java 编译器是如何处理源代码并生成字节码的,这对于优化程序性能和理解 Java 虚拟机 (JVM) 的工作原理至关重要。 #### 二、基本概念 在深入了解 `javap` 的使用之前,我们首先...

    MSJVM 虚拟机 JAVA工具

    MSJVM,全称为Microsoft Java Virtual Machine,是由微软公司开发的一款Java虚拟机,用于在Windows操作系统上运行Java应用程序。它在20世纪90年代末期广泛使用,但随着Java技术的发展以及与Sun Microsystems(现...

    Java运行原理 javap命令运行结果

    此外,还学习了如何使用`javap`命令来查看字节码文件的具体内容,这对于理解Java程序在底层的运行机制非常重要。 以上就是关于Java运行原理及javap命令运行结果的相关知识点的详细介绍。希望对你有所帮助!

    HelloWorld的javap -verbose HelloWorld 字节码初探

    7. **字节码与跨平台**:解释为什么Java能够实现“一次编写,到处运行”,字节码在其中起到的关键角色。 通过学习这些知识点,开发者可以更好地理解Java程序的底层运作,从而提高代码质量和优化性能。同时,对于JVM...

    javap-Tool:JAVA项目

    例如,要查看一个名为`MyClass.class`的类,你可以运行`javap -c MyClass`,这会显示出类中的每个方法的字节码指令。 在`javap-Tool-master`这个压缩包中,很可能包含了一个关于如何使用`javap`工具的示例项目或...

    使用类分解器Javap分析Java字节码

    使用`-c`选项,`Javap`会将字节码反编译为控制流图(CFG)的简单表示,这对于理解方法的执行流程非常有用。例如: ```bash javap -c MyClassName ``` `Javap`输出的内容通常包括以下几个部分: 1. **类的魔数**:...

    eclipse配置javap命令的方法

    本文将详细介绍如何在Eclipse中配置`javap`命令,以便在开发过程中方便地查看和理解Java字节码。 首先,`javap`命令的主要用途是对Java类文件进行反编译,它能够揭示Java虚拟机(JVM)如何处理我们的源代码。例如,当...

    JVM.rar_jvm_虚拟机

    在实际开发中,开发者可以使用诸如`javap`这样的工具来查看编译后的字节码,从而分析和理解代码的底层执行逻辑。通过对JVM指令集的深入学习,开发者能更好地优化代码性能,避免内存泄漏,以及解决各种运行时问题。...

    查看运行代码的汇编指令的工具

    `javap`是Java虚拟机(JVM)的一部分,通过反编译Class文件,我们可以看到方法的原始字节码以及解释为的汇编指令。这个工具对于性能调优、理解和分析JVM的工作机制非常有用。 使用`javap`的基本语法是: ```bash ...

    wtl_wtl-implementation_of_javap-master_C++_

    `javap`是Java开发工具包(JDK)的一部分,它用于反汇编Java字节码,帮助开发者查看和理解类文件的内部结构。这个项目可能有助于C++程序员更深入地了解Java虚拟机(JVM)的工作原理以及Java类文件的格式。 在描述中...

    JVM运行程序虚拟机的详细介绍.docx

    Java虚拟机(JVM)是Java程序的核心组成部分,它是一个软件实现的虚拟计算机,负责解析和执行由Java编译器生成的字节码。JVM的设计目标是提供跨平台的兼容性,使得“编写一次,到处运行”的理念得以实现。JVM通过...

    详解java中jvm虚拟机栈的作用

    详解 Java 中 JVM 虚拟机栈的作用 JVM 虚拟机栈是 Java 虚拟机(JVM)中的一部分,负责管理 Java 程序的执行。虚拟机栈由一个个栈帧组成,每个栈帧包含局部变量表、操作数栈、动态连接和方法出口四部分。 局部变量...

    Java虚拟机栈--栈帧.docx

    Java虚拟机栈是Java执行引擎的关键组成部分,它用于支持方法的执行。...开发者可以通过反编译工具,如`javap`,或者IDE插件(如jclasslib byte viewcoder)来查看和分析字节码文件,以深入了解栈帧的运作机制。

    一次性精通JVM JAVA虚拟机

    为什么要学JVM 1、一切JAVA代码都运行在JVM之上,只有深入理解虚拟机才能写出更强大的代码,解决更深层次的问题。 2、JVM是迈向高级工程师、架构师的必备技能,也是高薪、高职位的不二选择。 3、同时,JVM又是各大...

    java中对 i=i++ 的 解释(反编译出java虚拟机指令的)

    这个表达式在Java中的行为可以通过反编译成Java虚拟机(JVM)指令来理解。 首先,让我们回顾一下给定的代码片段: ```java public class Test { public static void main(String[] args) { int i = 0; i = i++; ...

    javaP:Java的想法

    5. **跨平台性**:Java的“一次编写,到处运行”(Write Once, Run Anywhere, WORA)理念,得益于Java虚拟机(JVM)。无论操作系统如何,只要安装了JVM,Java程序就能运行。 6. **Java语法**:包括基本数据类型、控制...

    JAVA命令大全[参考].pdf

    当你输入`java YourClassName`时,JVM(Java虚拟机)会被启动,并执行指定的类。任何Java应用程序的执行都离不开这个命令。 2. `javac.exe`: 它是Java的编译器,负责将源代码(`.java`文件)转换为字节码(`.class`...

    学习Java基本语法的仓库 存放学习Java的md文件和Java代码.rar

    JDK的全称(java Development Kit java开发工具包) JDK=JRE+java的开发工具(java,javac,javadoc,javap等) JDK给java开发人员使用包含JRE,所以不用单独安装 JRE JRE(java Runtime environment java运行环境)...

    java类文件结构(笔记).docx

    Java虚拟机通过`javap`工具可以查看Class文件的字节码和常量池内容。例如,对于给定的类`TestClass`,`javap -v`命令可以显示类的详细信息,包括常量池中的各个条目,如方法引用、字段引用等。 总之,Java类文件...

    JAVA字节码JAVA字节码.doc

    javap 的用法语法为:javap &lt;选项&gt; &lt;类名&gt;,其中选项包括: * -b:向后兼容 JDK 1.1 中的 javap * -c:反编译代码,打印出每个给定类中方法的 Java 虚拟机指令 * -classpath &lt;pathlist&gt;:指明到哪里查找用户的类...

Global site tag (gtag.js) - Google Analytics