openshell 的个人博客

一天很长,但十年很短。

Open Source, Open Mind,
Open Sight, Open Future!
  menu
110 文章
5051 浏览
0 当前访客
ღゝ◡╹)ノ❤️

【JVM】堆栈如何理解

java内存是分为堆,栈和方法区。

堆中分配的是对象,也就是new出来的东西。

栈中分配的是基本类型和自定义对象的引用。

方法区存放的是类信息和static变量。
比如说你在方法里有一个String a=new String("123"),就会先在堆里创建一个“123”的对象,然后再把这个对象的引用放到栈里面。

再举个栗子(别的地方找的):

对于一个方法

public void Method1()
{
    int i = 4;
    int y = 2;
    class1 cls1 = new class1();
}

内存分配是这样的:


标题:【JVM】堆栈如何理解
作者:openshell
地址:http://solo.caiqz.cn/articles/2021/06/15/1623716337288.html