1 内存分类
1.1. 栈和堆
在java培训中SE基础内容中的内存管理分为两部分, 一部分是栈, 另外一部分是堆.
栈(stack)是后进先出的内存结构, 主要作用是方法调用时使用, 在内存中占用的空间比较小
堆(heap)是内存的绝大部分空间, 没有特定的结构, 堆内存的特点是大.
堆内存分为两部分, 一部分是方法区, 另外一部分称为GC区
2 垃圾回收
2.1. 什么是垃圾
主要是指在堆内存中的GC区中, 由于对象不再使用后, 对象所占用的空间应该被释放, 这个空间就称为垃圾, 这个对象就称为垃圾对象
2.2. 垃圾如何回收
垃圾的回收是由GC(垃圾回收器)在后台处理, 在程序中,当某个对象不再有引用指向时, 这个对象就变为垃圾对象, 对象占用的空间就会由GC标记为可用状态, 这样,再次创建新对象时, 就可以使用这个可用空间, 从而可以实现自动的内存清理.
3 对象创建
3.1. 对象创建在哪里
对象创建在GC区中
3.2. 对象创建过程
1) 在方法区中加载类模板
2) 依据类模板中属性的定义, 在GC区中开辟空间
3) 把这个空间的地址返回给对象的创建者中的引用变量
3.3. 对象销毁
当一个对象被认定是垃圾后, 由GC在后台负责销毁此对象, 并释放内存空间.
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训训课程视频供广大学员下载学习
上一篇: java培训SE基础之匿名对象
下一篇: Java培训SE基础之 对象数组