![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
JVM相关知识整理
Jyannis
这个作者很懒,什么都没留下…
展开
-
JVM经典问题排查系列
对JVM进行简单的性能调优和问题排查是一名Java程序员必备的技能,也是Java工程师面试中经常考到的知识模块。本系列中会针对一些常见的JVM问题排查进行总结,帮助大家进行初步入门。在学习经典案例之前,我们首先要熟悉一些常见的JVM调优和监控工具,至少知道它们要做什么:传送门:JVM——命令行工具在了解了一些基本的工具之后,我们就可以来看一些基本的案例了:(不定时更新)直通车:JVM问...原创 2020-03-21 18:00:26 · 801 阅读 · 0 评论 -
JVM问题排查——CPU过高
文章目录环境准备工作排查总结环境JDK8 准备工作先准备好一个自旋程序,模拟CPU过高:public class CPUTest { public static void main(String[] args) { while(true){ System.out.println("true"); } ...原创 2020-03-21 17:50:04 · 1024 阅读 · 0 评论 -
JVM问题排查——OOM
文章目录环境准备工作排查姿势一:使用JVisualVM排查姿势二:使用Jps+Jstack环境JDK8 准备工作先准备好一个OOM程序:(程序是网上随便找的)public class DeadLock { public static String obj1 = "obj1"; public static String obj2 = "obj2"; p...原创 2020-03-21 15:01:34 · 4090 阅读 · 0 评论 -
OOM异常会导致JVM退出吗?
文章目录一、问题来源二、一次实践三、异常与线程四、OOM与JVM退出的关联 一、问题来源一次生产事故,由于一次性从数据库查询过多数据导致***线程*** OOM:Java heap space 异常(千万级表,JVM堆内存2G),但是在线程OOM发生时,java进程却没有立即挂掉。不符合所谓发生OOM,程序就会挂的“预期”,因此进行深入了解。 二、一次实践java...转载 2020-03-20 19:35:05 · 460 阅读 · 0 评论 -
JVM问题排查——死锁
文章目录环境准备工作排查姿势一:使用JVisualVM排查姿势二:使用Jps+Jstack环境JDK8 准备工作先准备好一个死锁程序:(程序是网上随便找的)public class DeadLock { public static String obj1 = "obj1"; public static String obj2 = "obj2"; pu...原创 2020-03-19 17:09:56 · 1975 阅读 · 0 评论 -
JVM运行时数据区
参考资料:《深入理解Java虚拟机(第2版)》文章目录概述程序计数器虚拟机栈本地方法栈堆方法区运行时常量池Class文件常量池直接内存JVM创建对象的过程对象的内存布局对象的访问定位方式 概述Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。根据Java虚拟机规范(JavaSE 7版),Java虚拟机所管理的内存将会包括...原创 2020-02-12 13:03:52 · 595 阅读 · 0 评论 -
一文读懂Java四种引用类型
Java中支持四种引用类型。平时我们可能只用到其中一种,但对各种引用类型都有一定了解是有必要的。本文针对四种引用类型的含义特征、使用方式、应用场景进行分析。 强引用含义特征强引用(Strong Reference)当我们使用new创建对象时,被创建的对象就是强引用。例如Object object = new Object(),其中的object就是一个强引用了。如果一个对...原创 2020-02-11 21:16:17 · 647 阅读 · 0 评论 -
什么是OOM?
OOM:OutofMemoryError 当无法申请到足够的内存时,抛出此异常。官方解释为:Thrown when the Java Virtual Machine cannot allocate an object becauseit is out of memory, and no more memory could be made available by thegarbage c...原创 2020-02-12 00:33:10 · 732 阅读 · 0 评论