JVM
文章平均质量分 82
学习JVM
杜小舟
如果皱纹终将刻在我的额头,那么我只能做到不让皱纹刻在我的心里!
展开
-
Windows 设置 Tomcat 的 JVM 内存大小
Windows 设置 Tomcat 的 JVM 内存大小原创 2022-09-24 15:52:37 · 2445 阅读 · 0 评论 -
【JVM】JVM 垃圾回收算法
目前JVM中有三种常见的垃圾回收算法,分别是:标记清除、标记整理和复制,这三种垃圾回收算法各有优缺点,下面逐一介绍。原创 2023-06-13 16:59:48 · 971 阅读 · 0 评论 -
【JVM】JVM 判断对象存活算法(引用计数算法与根可达性分析算法)
在 JVM 中,需要检查出还有哪些存活对象(就是哪些对象还在使用),哪些未存活对象,未存活对象又被称之为垃圾对象,只有知道了哪种是垃圾对象,才能进行后续的垃圾回收,下面是两种判断对象存活的算法。原创 2023-06-13 14:02:15 · 1063 阅读 · 0 评论 -
JAVA 对象访问定位
创建对象自然是为了后续使用该对象,我们的Java程序会通过栈上的reference数据来操作堆上的具 体对象。由于reference类型在《Java虚拟机规范》里面只规定了它是一个指向对象的引用,并没有定义 这个引用应该通过什么方式去定位、访问到堆中对象的具体位置,所以对象访问方式也是由虚拟机实 现而定的,主流的访问方式主要有使用句柄和直接指针两种: ·如果使用句柄访问的话,Java堆中将可能会划分出一块内存来作为句柄池,reference中存储的就 是对象的句柄地址,而句柄中包含了对象实例数据与类型数据各原创 2021-08-01 23:17:36 · 418 阅读 · 1 评论 -
JAVA 对象内存布局
文章目录引言对象头(Header)第一类压缩指针第二类引言在 HotSpot 虚拟机中,创建一个对象后,该对象在堆内存中的存储布局划分为三个部分:对象头、实例数据和对其补充。本篇文章主要以创建对象后,该对象的在堆内存中的内存布局为主。对象头(Header)在对象头中包括两类信息,两类信息中有些区别,下面我会单独去讲。第一类第一类是用于存储自身的运行时数据,比如说,哈希码( HashCode )、GC 分代年龄、锁状态标志、线程持有的锁、偏向线程 ID、偏向时间戳等,这部分的数据长度在 32原创 2021-07-31 23:38:26 · 244 阅读 · 0 评论 -
【JVM】JVM 内存模型
本篇文章主要讲述在程序运行时,JVM 虚拟机会分配出的各个数据区域,并文章中会讲述一些关于 JVM 调优的知识,做到理论与实践相结合。另外还需要补充的是,如果本篇文章中有讲的不对的地方,可以直接私我或在下方评论,感谢!原创 2021-07-25 01:53:01 · 162 阅读 · 2 评论 -
从 JVM 虚拟机角度去看一个对象的创建过程
文章目录引言一、对象的创建二、虚拟机遇到 new 指令三、分配内存空间1、堆中内存绝对规整过2、堆中内存没有经过绝对规整过3、并发情况下划分空间四、初始化五、对象的设置六、总结引言本篇文章从 JVM 虚拟机角度讲述对象的创建过程,中间会提到 JVM 运行时数据区域的知识、类加载过程、CAS、设置对象头等后续都会各抽出一篇文章单独去讲,暂不在这篇文章去讲。一、对象的创建Student stu = new Student();其实当你 new 一个对象后,经过编译后,在 JVM 虚拟机中执行的时原创 2021-07-19 17:56:46 · 305 阅读 · 2 评论