在老毕的视频中老毕经常要求强调我们要会话程序的内存图,张老师的书中也经常需要画内存图,可见Java内存分配对我们更好的学习理解有很大帮助.故在此本人总结一些关于Java内存分配及管理的知识,希望对大家学习有所帮助.
Java内存分配与管理师Java的核心技术之一,通常Java内存分配时会涉及到以下区域:
1.栈:存放基本类型的数据和对象的引用,但对象本身不放在栈中,而是存放在堆中.
2.堆:存放用new产生的对象和数组
3.方法区:存放类信息、静态变量、final常量、属性和方法信息,包括常量池
常量池:存放常量,包含基本类型和对象型(如String和数组) 的常量,还包含一些文本形式出现的符号引用,如类和接口的全限定名/方法和名称的描述符等;
4.静态区:存放在对象中用static定义的静态成员;
5.寄存器:我们在程序中无法控制.
总结得不全及错漏的地方,望有心人提出及更改,共同进步.
我的问题是:为什么有栈内存和堆内存之分,以及栈和堆的区别.
|
|