java栈
每当启动一个新线程的时候,java虚拟机都会为它分配一个java栈。java以栈帧为单位保存线程的运行状态。虚拟机只会对java栈执行两种操作:以栈帧为单位的压栈或者出栈。
java方法可以通过两种方式完成,一种通过return返回,成为正常返回;一种通过抛出异常而异常终止
。虚拟机都会将当前栈弹出java栈然后释放掉,这样上一个方法的栈帧就是当前栈帧了。
java栈上是此对应的java线程所私有的。因此不存在多线程情况下栈数据访问同步的问题。
栈帧
栈帧由三部分组成:局部变量区,操作数栈和帧数据区。
局部变量区和操作数栈要视对应的方法而定,它们是按照字长计算的。
局部变量区: java栈帧的局部变量区被组织为一个以字长为单位,从0开始计数的数组。字节码指令通过从0开始的索引来使用其中的数据。类型为int,float,reference和returnaddress的值在数组中只占一项,而类型为byte,short和char的值在存入数组前都将被转换为int。但是long和double类型在数组中却占据连续的两项。
操作数栈和局部变量区一样。也被组织成一个以字长为单位的数组。但是不是通过索引来访问,而是通过标准栈操作--压栈和出栈来访问。
不同于程序计数器,java虚拟机没有寄存器,程序计数器也无法被程序指令直接访问。java虚拟机是由操作数栈而不是从寄存器中取得操作数的,因此它的运行方式是基于栈的而不是基于寄存器的。
虚拟机把操作数栈作为它的工作区--大多数指令都要从这里弹出数据,执行运算,然后把结果压回操作数栈。
分享到:
- 2009-01-02 18:56
- 浏览 2060
- 评论(6)
- 论坛回复 / 浏览 (6 / 6606)
- 查看更多
相关推荐
《深入Java虚拟机(原书第2版)》,原书名《Inside the Java Virtual Machine,Second Edition》,作者:【美】Bill Venners,翻译:曹晓钢、蒋靖,出版社:机械工业出版社,ISBN:7111128052,出版日期:2003 年 9 ...
第5章 Java虚拟机 第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12章 整数运算 第13章 逻辑运算 第14章 浮点运算 第15章 对象和数组 第16...
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
《深入JAVA虚拟机 不那么完美的第二版》这本书虽然在印刷上可能存在一些小瑕疵,但这并不影响我们从中汲取宝贵的Java虚拟机(JVM)知识。Java虚拟机是Java平台的核心组成部分,它负责执行Java程序,提供了跨平台的...
《深入Java虚拟机》这本书是Java开发者深入了解JVM(Java Virtual Machine)的必备经典之作。它详尽地探讨了Java虚拟机的工作原理、内存管理、类加载机制、字节码执行以及性能优化等多个核心主题,旨在帮助开发者...
《深入Java虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员提供了深入了解Java平台核心机制的机会。随书光盘包含了书中提及的各种示例代码、实验数据以及...
深入java虚拟机第二版 不是很清晰 但还能看 第1-4章介绍了java虚拟机的体系结构,包栈、堆,方法区、执行引擎等; 第5-20章深入介绍了java的内部细节,垃圾回收、java安全模型、java的连接模型和动态扩张机制,...
本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎等;第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及...
第5章 Java虚拟机 第6章 Java class文件 第7章 类型的生命周期 第8章 连接模型 第9章 垃圾收集 第10章 栈和局部变量操作 第11章 类型转换 第12章 整数运算 第13章 逻辑运算 第14章 浮点运算 第15章 对象和数组 第16...
《深入JAVA虚拟机第二版》是一本专注于Java虚拟机(JVM)的权威指南,针对JVM的深入了解和优化提供了详尽的解析。这本书对于Java开发者、系统管理员以及对Java性能调优感兴趣的读者来说,是不可或缺的参考资料。下面...
### 深入Java虚拟机知识点总结 #### 第一章 Java体系结构介绍 - **Java体系结构概述**:本章主要介绍了Java体系结构的基本概念及其组成部分。Java体系结构旨在为开发者提供一个统一、高效且跨平台的应用开发环境。...
第5章定义Java虚拟机启动以及类与接口的加载、链接和初始化过程;第6章阐释并列举Java虚拟机指令集;第7章提供一张以操作码值为索引的Java虚拟机操作码助记符表。 《Java核心技术系列:Java虚拟机规范(Java SE 8版...
《深入Java虚拟机第二版》是一本深度剖析Java虚拟机(JVM)的权威著作,其英文版以CHM(Microsoft Compiled HTML Help)格式呈现,为读者提供了方便的电子阅读体验。CHM文件是一种常见的帮助文档格式,它将HTML页面...
《深入Java虚拟机(带目录+清晰+光盘) 第二版》是Java开发者们不可或缺的一本技术宝典。本书全面、深入地探讨了Java虚拟机(JVM)的工作原理和内部机制,对于理解Java程序的运行性能以及优化代码具有极其重要的价值。...
第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中第6章和附录A-C安全可以作为class文件和指令集的参考手册。本书还附带光盘...
《深入Java虚拟机》是Java开发者必读的经典之作,由Bill Venners撰写。这本书以其深入浅出的方式,详尽地解析了Java虚拟机(JVM)的工作原理和内部机制,帮助开发者提升对Java程序运行时环境的理解,从而能够编写出...
第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中第6章和附录A-C安全可以作为class文件和指令集的参考手册。 前言 第1章 ...
《深入JAVA虚拟机》这本书是Java开发者深入理解JVM内部工作原理的重要参考资料,书中涵盖了许多关键概念和技术,包括类加载机制、内存管理、垃圾回收、性能优化、JVM调优等方面。下面,我们将深入探讨这些知识点。 ...