Java JVM中的内存分配

JVM中的内存空间分为:方法区内存,栈内存,堆内存。它们的功能分别是

方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间中

栈内存(局部变量):方法 代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈

堆内存:new的对象在堆内存中存储

例如:Student  s  =    new   Student()

这里的s只是一个局部变量,存储的是在堆内存开辟的内存空间的地址。

--什么是对象?

  *new运算符在堆内存中开辟的内存空间称为对象

--什么是引用?

  *引用是一个变量,只不过这个变量中保存了另一个Java对象的内存地址。就像上面的局部变量s

Java语言当中,程序员不能直接操作堆内存,Java没有指针,不像C语言。在Java语言中,程序员只能通过“引用”去访问堆内存当中的对象

原文地址:https://www.cnblogs.com/RosemaryJie/p/12842857.html