编译器是否为公共(public)成员函数和私有(private)成员函数分配了不同的内存区域,或者它们分配在同一内存区域中?它们究竟分配在哪里(即堆、堆栈...)?
我的意思是说 OOP 概念就像成员函数的滥用仅在编写代码时和之后受到限制......我的意思是在编译为字节码之后内存表示没有差异,如果我错了请纠正我某处..
最佳答案
JVM 将类/方法或任何其他元数据
存储在一个名为:Non-Heap Memory 的区域中
对象,包括实例/类成员变量,在运行时存储在堆上。
另外两个答案中的混淆增加了,因为当函数在框架中运行时,方法成员存储在堆栈中,一旦方法完成,该框架就会被销毁。
关于成员函数的Java内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17938005/