摘要: 什么是垃圾(Garbage)? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾 如果不及时堆内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用.甚至可能会导致内存溢出 垃圾回收相关算法 垃圾标记阶段 引用计数算法 阅读全文
posted @ 2021-02-28 02:13 longda666 阅读(175) 评论(0) 推荐(0)
摘要: 方法区逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。 但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap,目的就是要和堆分开 所以方法区看作是一块独立于Java堆的内存空间 基本理解 方法区(Method Area) 与Java堆一样,是各个线程 阅读全文
posted @ 2021-02-28 00:54 longda666 阅读(1019) 评论(0) 推荐(2)
摘要: 堆的核心概述 所有的对象实例以及数组都应当在运行时分配在堆上 从实际实用角度看 --"几乎所有的对象实例都在堆中分配内存" 数组和对象可能永远不会存储在栈上,因为栈帧中保存引用,这个引用指向对象或者数组在堆中的位置 在方法结束后,堆中的对象不会马上被移除,仅仅在垃圾收集的时候才会被移除 堆,是GC执 阅读全文
posted @ 2021-02-28 00:45 longda666 阅读(246) 评论(0) 推荐(0)