对象的内存分析

在整个课程贯穿中最麻烦的事情在于对象的实例化上

java之中类属于引用数据类型,引用数据类型的最困难之处在于内存的管理,同时在进行操作的时候也会发生有内存关系的会有变化 现在进行简单的分析

两块最常用的内存空间:

堆内存:堆内存是区别于栈区、全局数据区和代码区的另一个内存区域。堆允许程序在运行时动态地申请某个大小的内存空间。保存的是对象的具体信息;堆内存空间的开辟是通过new关键字实现的,new有最高级别的开辟内存空间权力

栈内存:保存的是堆内存的地址;栈有一个很重要的特殊性,就是存在栈中的数据可以共享栈内存在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。即通过地址找到堆内存找到地址

猜你喜欢

转载自www.cnblogs.com/shitulaoma/p/12445676.html