
java虚拟机
文章平均质量分 82
记录和分享java虚拟机相关的知识
wh柒八九
一枚热爱编程的程序员
展开
-
JVisualVM工具的使用
本文来说下JVisualVM工具的基本使用文章目录概述概述原创 2023-10-26 16:01:26 · 410 阅读 · 0 评论 -
使用jmap来生成堆转储快照
本文来说下如何使用使用jmap来生成堆转储快照文章目录概述概述原创 2021-11-04 09:51:32 · 1017 阅读 · 0 评论 -
使用jps来查看虚拟机状态
本文来说下如何使用jps来查看虚拟机状态文章目录概述概述原创 2021-11-03 13:41:01 · 991 阅读 · 0 评论 -
使用jstack查看某个Java进程内的线程堆栈信息
本文来说下如何使用jstack来查看堆栈信息文章目录概述概述原创 2021-11-03 09:53:19 · 324 阅读 · 0 评论 -
JVM性能优化之栈区域OOM问题
本文来说下JVM性能优化之栈区域OOM问题文章目录概述概述原创 2021-11-02 09:58:11 · 867 阅读 · 0 评论 -
JVM性能优化之CPU负载过高
本文来说下JVM性能优化之CPU负载过高的问题文章目录概述概述原创 2021-11-02 09:11:14 · 1783 阅读 · 0 评论 -
JVM性能优化之堆区域OOM问题
本文来说下JVM性能优化之OOM问题文章目录概述概述原创 2021-11-02 09:08:21 · 495 阅读 · 0 评论 -
CPU占用率过高和OOM场景下如何排查问题
本文来说下CPU占用率过高和OOM场景下如何排查问题文章目录CPU占用率过高CPU占用率过高CPU占用率过高原创 2021-10-15 15:07:40 · 681 阅读 · 0 评论 -
说说关于JVM三色标记算法
本文来说下关于JVM三色标记算法文章目录概述概述三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW(Stop The World),从而达到清除JVM内存垃圾的目。原创 2021-10-10 12:40:00 · 1053 阅读 · 1 评论 -
JVM实战调优
本文来说下JVM调优实战相关的几个问题文章目录你在项目中都使用了哪些参数打印GC常用的调优工具有哪些你在项目中都使用了哪些参数打印GC具体的参数名称记不清楚了,但是我一般在项目中输出详细的 GC 日志,并加上可读性强的 GC 日志的时间戳。特别情况下我还会追加一些反映对象晋升情况和堆详细信息的日志,这些会单独打到gc.log文件中用来排查问题。另外,OOM 时自动 Dump 堆栈,我一般也会进行配置。常用的调优工具有哪些JDK内置的命令行:jps(查看jvm进程信息)、jstat(监视jv.原创 2021-10-09 11:15:34 · 231 阅读 · 0 评论 -
关于双亲委派模型的几个问题
本文来说下关于双亲委派模型的几个问题文章目录概述概述原创 2021-10-09 10:51:23 · 297 阅读 · 0 评论 -
类加载机制与反射
本文来说下类加载机制与反射之间的关系,进一步弄清楚类加载机制与反射,对JVM有进一步的理解与掌握文章目录概述概述原创 2021-10-07 18:57:54 · 168 阅读 · 0 评论 -
常见的几款JVM监控工具
本文来说下常见的几款JVM监控工具文章目录概述概述在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的。原创 2021-09-29 09:07:44 · 2423 阅读 · 0 评论 -
为什么要破坏JVM的双亲委派模型
本文来说下为什么要破坏JVM的双亲委派模型文章目录概述概述我原来面试的时候被问过一个这样的问题,「如果在你项目中建一个java.lang.String的类,那系统中用的String类是你定义的String类,还是原生api中的String类?」你可以试一下,发现最终系统中用的还是原生api中的String类,为什么会出现这种情况呢?这还得从类的加载过程说起。...原创 2021-09-28 09:16:52 · 1674 阅读 · 0 评论 -
JVM整体架构与调优参数说明
本文来说下JVM整体架构与调优参数说明文章目录概述概述原创 2021-09-24 17:06:20 · 717 阅读 · 0 评论 -
JVM参数调优详细过程
本文来说下讲一下JVM参数调优详细过程文章目录概述概述原创 2021-09-18 15:18:07 · 254 阅读 · 0 评论 -
JVM堆外内存的回收机制分析
本文来说下堆外内存的回收机制分析文章目录堆外内存堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代码中还可以使用堆外内存,比如Netty,广泛使用了堆外内存,但是这部分的内存并不归JVM管理,GC算法并不会对它们进行回收,所以在使用堆外内存时,要格外小心,防止内存一直得不到释放,造成线上故障。...原创 2021-09-10 16:07:41 · 816 阅读 · 0 评论 -
关于JVM中YGC的来龙去脉
本文来说下关于JVM中YGC的来龙去脉文章目录概述概述原创 2021-09-10 15:13:24 · 1589 阅读 · 0 评论 -
关于JVM方法调用的那些事
本文来说下JVM方法调用的那些事文章目录概述概述Java具备三种特性:封装、继承、多态。Java文件在编译过程中不会进行传统编译的连接步骤,方法调用的目标方法以符号引用的方式存储在Class文件中,这种多态特性给Java带来了更灵活的扩展能力,但也使得方法调用变得相对复杂,需要在类加载期间,甚至到运行期间才能确定目标方法的直接引用。...原创 2021-09-10 14:11:28 · 193 阅读 · 0 评论 -
JVM源码分析之安全点safepoint
本文来说下netty中的reactor模型文章目录概述概述原创 2021-09-10 11:14:38 · 562 阅读 · 0 评论 -
jvm性能调优工具之 jmap使用详解
本文来说下jvm性能调优工具之 jmap使用详解文章目录概述概述原创 2021-09-09 11:05:09 · 3794 阅读 · 1 评论 -
jmap命令的实现原理解析
本文来说下jmap命令的实现原理解析文章目录概述概述原创 2021-09-09 10:34:55 · 2661 阅读 · 0 评论 -
G1垃圾收集器之对象分配过程
本文来说下G1垃圾收集器之对象分配过程文章目录概述概述G1的年轻代由eden region 和 survivor region 两部分组成,新建的对象(除了巨型对象)大部分都在eden region中分配内存,如果分配失败,说明eden region已经被全部占满,这时会触发一次young gc,回收eden region的垃圾对象,释放空间,满足当前的分配需求。...原创 2021-09-09 10:17:56 · 1010 阅读 · 0 评论 -
G1垃圾收集器之SATB
本文来说下G1垃圾收集器之SATB文章目录对象漏标对象漏标垃圾回收的并发标记阶段,gc线程和应用线程是并发执行的,所以一个对象被标记之后,应用线程可能篡改对象的引用关系,从而造成对象的漏标、误标,其实误标没什么关系,顶多造成浮动垃圾,在下次gc还是可以回收的,但是漏标的后果是致命的,把本应该存活的对象给回收了,从而影响的程序的正确性。为了解决在并发标记过程中,存活对象漏标的情况,GC HandBook把对象分成三种颜色:黑色:自身以及可达对象都已经被标记灰色:自身被标记,可达对象还未.原创 2021-09-09 10:04:05 · 1348 阅读 · 0 评论 -
java中的Unsafe类
本文来说下java中的Unsafe文章目录概述概述原创 2021-09-08 14:16:02 · 265 阅读 · 0 评论 -
G1垃圾收集器之RSet
本文来说下java中的Unsafe文章目录概述概述原创 2021-09-08 14:14:03 · 1837 阅读 · 0 评论 -
深入理解JVM逃逸分析
本文来说下JVM中的逃逸分析文章目录概述概述原创 2021-09-08 13:53:44 · 503 阅读 · 0 评论 -
Minor GC和Full GC触发条件
本文来说下Minor GC和Full GC触发条件文章目录Minor GC触发条件Minor GC触发条件Minor GC触发条件:当Eden区满时,触发Minor GC。原创 2021-09-03 16:00:51 · 415 阅读 · 0 评论 -
JVM优化之系统CPU飙高和GC频繁
本文来说下负载神器 LVS、Nginx及HAProxy工作原理文章目录概述概述当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。...原创 2021-09-02 13:46:10 · 1118 阅读 · 0 评论 -
new一个对象的过程中发生了什么
本文来说下new一个对象的过程中发生了什么文章目录概述概述Java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。...原创 2021-09-02 11:00:20 · 2419 阅读 · 0 评论 -
Class.forName和ClassLoader有什么区别
本文来说下Class.forName 和 ClassLoader 有什么区别文章目录概述概述在 java 中 Class.forName() 和 ClassLoader 都可以对类进行加载。ClassLoader 就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到 JVM 中。Class.forName() 方法实际上也是调用的 CLassLoader 来实现的。Class.forName(String .原创 2021-09-02 10:24:06 · 263 阅读 · 0 评论 -
JVM调优基本步骤
本文来说下JVM调优基本步骤文章目录概述概述原创 2021-08-30 09:07:35 · 2875 阅读 · 0 评论 -
Tomcat类加载器为何违背双亲委派模型
本文来说下Tomcat类加载器为何违背双亲委派模型文章目录概述概述原创 2021-08-29 14:03:55 · 312 阅读 · 0 评论 -
关于双亲委派模型的几个问题
本文来说下关于双亲委派模型的几个问题文章目录概述定义概述本文浅析了双亲委派的基本概念、实现原理、和自定义类加载器的正确姿势。对于更细致的加载loading过程、初始化initialization顺序等问题,文中暂不涉及,后面整理笔记时有相应的文章。定义双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器。双亲委派模型的工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。每一个层次的类加.原创 2021-08-29 13:41:00 · 300 阅读 · 0 评论 -
关于JVM类加载的几个问题
本文来说下关于JVM类加载的几个问题文章目录概述概述原创 2021-08-28 21:42:21 · 173 阅读 · 0 评论 -
关于JVM垃圾回收的几个问题
本文来说下dubbo容器的启动与停止文章目录概述概述原创 2021-08-27 20:00:35 · 278 阅读 · 0 评论 -
关于Stop The World的几个问题
本文来说下JVM中关于Stop The World的几个问题文章目录哪些对象是垃圾哪些对象是垃圾当我们进行垃圾回收的时候,首先需要判断哪些对象是存活的?常用的方法有如下两种引用计数法可达性分析法...原创 2021-08-18 21:14:04 · 457 阅读 · 0 评论 -
关于CMS垃圾回收器的几个问题
本文来说下关于CMS垃圾回收器的几个问题文章目录概述概述原创 2021-08-16 21:12:34 · 753 阅读 · 0 评论 -
关于JNI的几个问题
本文来说下关于@SpringBootApplication注解扫码的几个问题文章目录概述概述原创 2021-07-25 14:42:28 · 306 阅读 · 0 评论 -
G1垃圾收集器全视角解析
本文来说下G1垃圾收集器文章目录概述概述本文将总结一下GC的种类,然后侧重总结下G1(Garbage-First)垃圾收集器的分代,结合open-jdk源码分析下重要算法如SATB,重要存储结构如CSet、RSet、TLAB、PLAB、Card Table等。最后会再梳理下G1 GC的YoungGC,MixedGC收集过程。...原创 2021-07-18 12:34:08 · 862 阅读 · 1 评论