我们知道Java中的对象都是存在于堆内存中的,而堆内存是可以被垃圾回收器不定期回收的。从对象被创建到被回收这一段时间就是Java对象的生命周期,也即Java对象只存活于这个时间段内。
对象被垃圾回收器回收意味着对象和对象中的成员变量所占的内存也就被回收,这意味着我们就再也得不到该对象的任何内容...
分类:
编程语言 时间:
2014-05-06 01:20:00
阅读次数:
392
调用函数时,主调的函数所拥有的局部变量等信息需要存储在特定的内存区域。这个区域被称作栈内存区。另一方面,利用new 或者malloc
进行分配的内存区域被称为堆内存。栈内存在程序启动时被统一分配,此后不能再扩大。由于这一区域有上限,所以函数的递归深度也有上限。虽然与函数中定义的局部变量的数目有关,不...
分类:
其他好文 时间:
2014-05-05 09:40:45
阅读次数:
294
string string = AnsiString =
长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节;
变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起始于@Str[1],@Str[1]偏移负16个字节的空间存储着字串长度、引用计数等信息。字符序列.....
分类:
其他好文 时间:
2014-05-01 14:34:10
阅读次数:
487
字符串是一个特殊的对象。字符串一旦初始化就不可以被改变。String s =
"abc";//存放于字符串常量池,产生1个对象String s1=new
String("abc");//堆内存中new创建了一个String对象,产生2个对象String类中的equals比较字符串中的内容。常用方法:...
分类:
编程语言 时间:
2014-04-28 10:25:15
阅读次数:
800
c++内存区分为5个部分:常量区;全局/静态区;自由存储区;栈;堆。
栈内存申请和堆内存申请时,系统所做的工作的区别;
栈和堆的区别;...
分类:
其他好文 时间:
2014-04-27 18:48:02
阅读次数:
683