jvm
文章平均质量分 79
车猫君
沉默着,走了有,多遥远;
抬起头,忽然间,才发现;
展开
-
JavaThread:Java线程在虚拟机的实现
Java线程对象的jvm实现原创 2023-02-04 04:15:41 · 185 阅读 · 0 评论 -
jvm是怎么实现Java方法和native方法的连接
Java通过JNI接口调用Java native方法后,将结果反馈给Java方法的过程原创 2023-01-30 04:13:09 · 357 阅读 · 0 评论 -
Java-对象头详解
引言这里只介绍64位虚拟机的对象头的结构和内容,主要是分为以下四种状态介绍,无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态。对象头的基本结构如下图所示对象的结构和内容我这里就暂且不提了,本章主要讲述的对象头的内容。对象头分为三个部分:一、Mark Word部分,从名字就能知道它是一个记录和描述对象的部分。这也是我接下来主要讲解的部分,因为其他的内容,基本没有多大的变化情况。占八字节内存。二、类型指针部分,也叫元数据指针什么的,主要是存储元数据的地址,对于对象的类型信息,指向方法区的类信息部原创 2021-01-11 14:48:47 · 1690 阅读 · 0 评论 -
Java——String类详解
引言这里主要从虚拟机层面完整的讲解一下String类的对象存储位置。以及看似相同的String类的对象的比较。在此,针对一个对象的初始化的过程,我就不细讲了,其实可以参考我的另外一篇博客,虽然没有讲得很细,但是大体的逻辑过程是没有问题,待以后有时间再去细化和完善。随便提一下,在jdk1.6及以下版本,字符串常量池是放在方法区的运行时常量池中的,静态变量也是存储于方法区的,但是在jdk1.7及以上版本,字符串常量池和静态变量被放入了Java堆内存区域中,所以,我以下的讲解中,会两种版本对比着讲解。我会尽可能原创 2021-01-03 00:29:29 · 179 阅读 · 0 评论 -
学习笔记——CMS收集器
CSM收集器CSM收集器是一种以获取最短回收停顿时间为目标的收集器。很大一部分应用都会很关注服务的响应速度,以给用户带来良好的交互体验。CMS收集器就非常符合这类应用的需求。CMS(mark-sweep)从名字上就可以看出它是基于标记——清除算法实现的,整个过程分为以下四个步骤。一、初始标记(CMS init mark)二、并发标记(CMS concurrent mark)三、重新标记(CMS remark)四、并发清除(CMS concurrent sweep)初始标记和重新标记阶段需要ST原创 2020-12-15 12:33:08 · 386 阅读 · 0 评论 -
学习笔记——Parallel Scavenge和Parallel Old
前言本章节是以读书笔记的目的来创作的,随时补充和更新,待学习比较深入以后,会后续补充作者自己的理解和思考总结Parallel Scavenge收集器Parallel Scavenge收集器也是一款新生代收集器,基于标记-复制算法实现的收集器,也是能够并行收集的多线程收集器。其目标为达到一个可控制的吞吐量,所谓吞吐量,程序实际运行时间比上总时间,总时间为程序实际运行时间加上GC时间,所以,吞吐量越接近于一,说明实际效果越好。因为停顿时间越短就越合适需要与用户交互或需要保证服务响应质量的程序,良好的响应速原创 2020-12-11 14:47:11 · 1172 阅读 · 0 评论