时间:2021-05-19
jvm虚拟机栈的作用
jvm虚拟机栈栈帧的组成
jvm虚拟机栈,也叫java栈,它由一个个的栈帧组成,而栈帖由以下几个部分组成
一 生成字节码文件
javac demo1.java
生成之后,扩展名是.class,这个文件对于我们来说是没有可读性的。
二 对class文件反汇编
javap demo1.class > demo1.txt
我们可以通过文件编译工具来查看demo1.txt的内容
Compiled from "Demo1.java"public class com.lind.basic.Demo1 { public com.lind.basic.Demo1(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return static int hello(); Code: 0: iconst_1 // 把第一个整型变量推到操作数栈 1: istore_0 // 让它出栈,并存储到局部变量表 2: iconst_2 3: istore_1 4: iload_0 // 加载第一个数据入操作数栈 5: iload_1 // 加载第二个数据入操作数栈 6: iadd // 将两个数相加,结束入操作数栈 7: istore_2 // 将结果出栈,存到局部变量表 8: iload_2 // 加载它入操作数栈 9: ireturn // 返回 public static void main(java.lang.String[]); Code: 0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 3: invokestatic #3 // Method hello:()I 6: invokevirtual #4 // Method java/io/PrintStream.println:(I)V 9: return}对于上面的汇编文件,我们是可以看的懂的,而且我们需要,汇编语言可以直接在计算机上运行,我想jvm应该也是把class文件生成对应操作系统的汇编文件,然后交给操作系统去执行吧!
总结
以上所述是小编给大家介绍的java中jvm虚拟机栈的作用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一,jvm内存区域1,程序计数器一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器。2,java栈与程序计数器一样,java栈(虚拟机栈)也是线程私有
java虚拟机中对象访问详解对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:ObjectobjectRef=newObject()
Java内存划分:在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所有线程共享,而虚拟机栈和本地方法栈
一、概要1.Java虚拟机(Jvm)是什么?2.Java虚拟机是用来干什么的?3.Java虚拟机它的体系结构是什么样子的?4.Java虚拟机在工作做扮演什么角色
这篇文章将简单的说明下当我们运行Java程序时JVM(Java虚拟机)的内存分配情况。首先我们先来感观的认识下几个名词:1、栈,一般来说,基本数据类型直接在栈中