JAVA中实例化一个对象,成员方法中的参数会在哪分配内存(栈/堆)?
首先内存总体分为了4个部分,包括 stack segment 、heap segment、code segment 、data segment ;
其中我们程序中用关键字new出来的东差姿西都是存洞察放在heap segment;
程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放纳庆茄内存资源(而heap segment中的资源需要java垃圾回收机制来处理);
程序中的方法,是内存中的code segment中的,而且是多个对象 共享一个代码空间区域;
static静态变量,需要放在内存中的data segment中,
成员方法?
JAVA中实例化一个对象
会实例该类中的一些成员变量
成员变量也要看是具体对象
还是基础变量
基础变量存储在
栈中
而具体对象引用存在于栈中
具体内容存在堆中瞎念
一些特殊的变量
比如静态变量会在类加载的时候在特殊的静态区分配
L楼主说是成员方法???
实例化对象
对成员方法中的参数是不产生影响的
只有实例对象调用方法的时磨盯困候
其具体涉及到的方法体内的局部变量才会在内存中分配
分配方式依然是:则渗
java基础变量
和java对象
基础变量存储在
栈中
而具体对象引用存在于栈中
具体内容存在堆中
成员方法中的参数会分配在栈中,参数指向堆中的方法体。
java那个所有的对象都竖漏世在堆中,成员方法的参数应该属于临时变量,放在栈中,个人看法,
不过jVM有自动垃圾回收机制,如果放在堆中也无所谓,反正它自余肢己会回收
期搜祥待高手更正