想要去阿里面试?你必须得跨过 JVM 这道坎!( 七 )

}

上面的 “new Student(name)” 这个代码就是创建了一个Student类型的对象实例,这个对象实例里面会包含一些数据。

比如说这个Student的“name”就是属于这个对象实例的一个数据,那么类似Student这样的对象,就会存放在Java堆内存里。

Java堆内存区域里会放入类似Student的对象,然后方法的栈帧的局部变量表里,这个引用类型的“student”局部变量就会存放Student对象的地址。

相当于你可以认为局部变量表里的“student”指向了Java堆里的Student对象。

看下图会更加清晰一些。

想要去阿里面试?你必须得跨过 JVM 这道坎!

方法区 / Metaspace

这个方法区是在JDK 1.8以前的版本里,代表JVM中的一块区域,主要是放类似Student类自己的信息的,平时用到的各种类的信息,都是放在这个区域里的,还会有一些类似常量池的东西放在这个区域里。

推荐阅读