摘要: 这一节主要介绍对象创建时,在堆中的一些过程。 回忆下,我们之前说的,什么时候会发生垃圾回收? 除了在一些安全点处也许会发生垃圾回收(只是也许),如果在所需内存不足的情况下,一定会发生垃圾回收。 分配堆空间 首先通过设置参数,把堆空间设置为 20M,其中 新生代 10M,老年代 10M。 参数设置: 阅读全文
posted @ 2020-06-22 23:41 土堆碎念 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 创建一个对象,不仅仅是找一块内存区域,然后把对象的值赋值进去那么简单。你想想,当我们 new 一个对象出来的时候,我们可以利用反射获取对象的一些信息。可以通过对象调用其中的一些方法。所以,在内存中,对象不仅仅包含了对象值那么简单,它还包含了更多的信息。 这些信息保存在一个名为 对象头 的结构中。 对 阅读全文
posted @ 2020-06-22 14:54 土堆碎念 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 堆的结构是基于分代理论(垃圾回收)的,这种结构划分,是为了更好地进行垃圾回收。 我们将堆分为老年代、新生代。 永久代、元空间、堆这几个概念一直比较混乱。但是看到上图,堆的定义只包含 新生代 和 老年代。 这一点我们在实际设置 JVM 的参数的时候,你会发现,设置的空间的确只包含 新生代 和 老年代。 阅读全文
posted @ 2020-06-22 12:47 土堆碎念 阅读(190) 评论(0) 推荐(0) 编辑