12.JVM运行时数据区之虚拟机栈概述

    技术2022-07-10  152

    目录

    1. 内存中的栈与堆2.栈的优点

    1. 内存中的栈与堆

    栈是运行时单位,堆是存储的单位。 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。 堆解决的是数据存储的问题,即数据怎么放、放在哪儿。 1.每个线程在创建的时候都会创建一个虚拟机栈。栈是线程私有的。 栈中存储的是一个个栈帧。 一个栈帧对应于一个java方法。 生命周期: 2.生命周期和线程一致。随着线程的创建而创建,随着线程的消亡而消亡。 作用: 3.保存方法的局部变量(8种基本数据类型、对象的引用地址)、部分结果,参与方法的调用和返回。 局部变量注意和成员变量区分开。

    2.栈的优点

    1.栈只有进栈和出栈两种操作,所以速度很快,仅次于程序计数器。 2.每个方法执行,伴随着进栈。方法执行完成,伴随着出栈。 3.栈不存在GC,因为只存在进栈和出栈两种操作。但是栈存在OOM。

    更多JVM文章请参考我的JVM专栏:https://blog.csdn.net/u011069294/category_10113093.html

    Processed: 0.308, SQL: 9