请你回答一下Java的内存结构是什么,全局变量,临时变量,静态变量分别存在哪里,堆分为哪几块,比如说新生代老生代,那么新生代又分为什么
参考回答:
栈区:存放函数的参数,局部变量的值等,其操作方式类似于数据结构中的栈,const局部变量也是放在栈里
堆区:就是malloc和new之类的内存所在区段,一般由程序员分配释放,分配方式类似于链表
静态数据区:是编译器生成的一个exe区段,初始和未初始化的全局变量和局部变量都放在这里,
常量区:是编译器生成的一个exe区段,const全局变量也放在常量区。
全局变量,临时变量,静态变量分别存在哪里
局部变量保存在栈中,全局变量和静态变量存储在静态数据区。
堆分为哪几块,比如说新生代老生代,那么新生代又分为什么?
java垃圾收集管理器的主要区域,因此很多时候被称为“GC堆”。
分为新生代和老年代;
新生代分为:Eden和Survivor。