JVM内存与垃圾回收篇
文章平均质量分 92
JVM
一条柴_Alex
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JVM】运行时数据区之方法区——自问自答
开局从康师傅那里借图几张线程共享与私有《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。” 但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。所以,方法区看作是一块独立于Java堆的内存空间.方法区 (Method Area)与Java堆一样,是各个线程共享的内存区域。原创 2023-09-26 15:12:26 · 452 阅读 · 0 评论 -
【JVM】运行时数据区之 堆——自问自答
一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域Java 堆区在JVM 启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。堆整体上分为年轻代+老年代> 堆内存的大小是可以调节的。-Xms 堆的初始值大小 等价于:-XX:InitialHeapSize-Xmx 堆的最大值大小 等价于:-XX:MaxHeapSize比如设置堆的初始值为6兆-Xms6144k-Xms6m。原创 2023-09-25 22:15:30 · 391 阅读 · 0 评论 -
【JVM】类加载子系统——自问自答
类加载子系统原创 2023-09-25 13:40:48 · 514 阅读 · 0 评论 -
【JVM】运行时数据区——自问自答
运行时数据区,详细讲解i++ ++i String不可变性的字节码层面原理原创 2023-08-16 16:06:54 · 453 阅读 · 0 评论 -
【JVM】垃圾回收 ——自问自答2
部分图片取自王道,仅作为技术交流,如有侵权,联系删除原创 2023-08-07 15:03:20 · 553 阅读 · 0 评论 -
【JVM】 垃圾回收篇——自问自答(1)
新生代中有YGC/MinorGC, 当Eden区满的时候触发,并使用复制算法,和分代策略,将Eden区和from区的存活对象 放到to区,如果存不下,就直接晋升老年代。对象(new A()),被对象 ReferenceClass的静态变量引用,我们知道类变量的初始化是在类加载三部曲的初始化阶段,随着类卸载而消亡。比如使用G1回收器时,新生代的region里的对象,被老年代的某些对象所引用。因为从内存解构上,局部引用是在虚拟机栈的局部变量表中的,而类内的成员变量引用,是在堆内的。原创 2023-08-06 15:06:10 · 1172 阅读 · 1 评论 -
9_对象实例化内存布局与访问定位
对象实例化的内存布局原创 2023-01-02 22:43:17 · 184 阅读 · 0 评论 -
8_方法区
方法区原创 2023-01-02 21:56:10 · 195 阅读 · 0 评论 -
7_运行时数据区——堆
堆 GC原创 2023-01-02 17:05:14 · 202 阅读 · 0 评论 -
6_ 本地方法接口和本地方法栈
Native 本地方法原创 2023-01-01 22:25:03 · 259 阅读 · 0 评论 -
5_虚拟机栈
虚拟机栈的结构原创 2023-01-01 21:57:35 · 444 阅读 · 0 评论 -
4、程序计数器PC
程序计数器PC原创 2023-01-01 16:54:57 · 1829 阅读 · 0 评论 -
3_运行时数据区概述及线程
运行时数据区概述及线程原创 2023-01-01 16:29:32 · 222 阅读 · 0 评论 -
2_类加载子系统
类加载子系统原创 2023-01-01 15:47:09 · 266 阅读 · 0 评论 -
JVM与Java体系结构
JVM与Java体系结构原创 2023-01-01 13:44:03 · 249 阅读 · 0 评论
分享