成员函数的Java内存分配

时间:2013-07-30 03:53:09

标签: java memory

编译器是否为公共成员函数和私有成员函数分配了不同的内存区域,或者它们是否分配在同一内存区域中?它们究竟分配到哪里(即堆,堆栈......)?

我的意思是说OOP概念就像误用成员函数一样,只有在编写代码时才会受到限制......我的意思是在编译成字节码之后,在内存表示方面没有差别,如果我错了,请纠正我某处..

2 个答案:

答案 0 :(得分:0)

  • Java中的成员函数存储在Stack

  • 实例变量,对象存储在堆

  • 局部变量存储在堆栈

答案 1 :(得分:0)

JVM将类/方法或任何其他meta-data存储在一个名为Non-Heap Memory

的区域中

对象,包括实例/类成员变量,在运行时存储在堆上。

另外两个答案中的混淆上升是因为当函数在一个框架中运行时,方法成员存储在堆栈中,一旦方法完成就会被破坏。