2014年9月19日
摘要: 一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束... 阅读全文
posted @ 2014-09-19 15:41 AppleIsA 阅读(187) 评论(0) 推荐(0) 编辑
摘要: GC在什么时候对什么做了什么? 要回答这个问题,先了解下GC的发展史、jvm运行时数据区的划分、jvm内存分配策略、jvm垃圾收集算法等知识。 先说下jvm运行时数据的划分,粗暴的分可以分为堆区(Heap)和栈区(Stack),但jvm的分法实际上比这复杂得多,大概分为下面几块: 1、程序计数器(P... 阅读全文
posted @ 2014-09-19 15:19 AppleIsA 阅读(86) 评论(0) 推荐(0) 编辑