比如说:
myclass mc=new myclass(); //myclass 是自定义的类
我总想从内存的角度去理解,mc是从栈上分配一块内存,后边的对象是从堆上分配一块内存
不知道这么理解对不?怎么更深理解这个 reference 那: int i=5;
用内存的角度又怎么理解?
实在想不懂,请赐教!!!
myclass mc=new myclass(); //myclass 是自定义的类
我总想从内存的角度去理解,mc是从栈上分配一块内存,后边的对象是从堆上分配一块内存
不知道这么理解对不?怎么更深理解这个 reference 那: int i=5;
用内存的角度又怎么理解?
实在想不懂,请赐教!!!
首先myclass mc 是在栈中建立myclass的一reference ,但并没指向具体对象实例;
myclass mc=new myclass(); 是在堆中建立具体一myclass的实例,并将该对象链向mc栈内存和堆内存机制不同。后者可支持动态机制,具有很多灵活性,但同时牺牲了些其他代价