jvm
文章平均质量分 75
局外人Inside
这个作者很懒,什么都没留下…
展开
-
线上CPU飚增排查思路
线上是我们最敬畏、也是出问题最难排查的环境,比较常见的一个问题就是线上服务器CPU使用率突然飚增,导致机器频繁预警,常见的CPU使用率飚增原因有以下这些:这个时候就需要上服务器排查一下了,整理了一下简单的排查步骤:原创 2023-04-23 18:48:40 · 367 阅读 · 0 评论 -
线程池常见面试题
一、请说出线程池的工作原理答:常见流程如下:提交任务后,先判断当前池中线程数是否小于 corePoolSize,如果小于,则创建新线程执行这个任务。 否则,判断线程池任务队列是否已满,如果没有满,则添加任务到任务队列。 否则,判断当前池中线程数是否大于 maximumPoolSize,如果大于则执行预设拒绝策略。 否则,创建一个线程执行该任务,直至线程数达到maximumPoolSize,达到后执行预设拒绝策略。 注意:其实按照上面流程回答已经差不多了,但是jdk1.6之后对流...原创 2022-05-16 17:13:57 · 1551 阅读 · 0 评论 -
对象的内存
在 Hotspot 虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头HotSpot 的对象头由Mark Word和类型指针组成。对象头中的运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等,这部分数据的长度在32位和64位的虚拟机(未开启压缩指针)中分别为32bit和64bit,官方称它为“Mark Word”。对象需要存储的运行时数据很多,其实原创 2022-03-09 14:56:24 · 59 阅读 · 0 评论 -
面试官:看你简历上写了熟悉JVM垃圾回收机制,那说说你了解的GC
目录1. 介绍一下垃圾回收机制:2. GC完整流程知道吗?介绍一下3. GC的四种算法有过了解吗?介绍一下4. 请介绍一下常用的几款垃圾回收器1. 介绍一下垃圾回收机制:当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(GenerationalCollection)的理论进行设计,分代收集名为理论,实质是一套符合大多 数程序运行实际情况的经验法则,它建立在两个分代假说之上: 1)弱分代假说(Weak Generational Hypo...原创 2022-03-09 14:51:25 · 472 阅读 · 0 评论 -
八股文之JVM
1. 运行时数据区中包含哪些区域?哪些线程共享?哪些线程独享?Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK 1.8 和之前的版本略有不同JDK1.8之前:JDK1.8:线程私有的:程序计数器虚拟机栈本地方法栈线程共享的:堆方法区直接内存 (非运行时数据区的一部分)1.1 程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指原创 2022-03-09 14:34:37 · 178 阅读 · 0 评论 -
Jvm学习day01
1. 运行时数据区中包含哪些区域?哪些线程共享?哪些线程独享? Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK 1.8 和之前的版本略有不同 JDK1.8之前:JDK1.8:线程私有的: 程序计数器 虚拟机栈 本地方法栈线程共享的: 堆 方法区 直接内存 (非运行时数据区的一部分)1.1 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作原创 2021-12-30 21:54:04 · 513 阅读 · 0 评论