随笔分类 -  JVM

摘要:问题描述: 1、系统偶发性抛出异常:java.lang.NumberFormatException: multiple points ,追溯源头抛出的类为:SimpleDateFormat 问题的定位: 1、总所周知,SimpleDateFormat是非线程安全的类。由此可以推断:在多线程环境下,需 阅读全文
posted @ 2019-08-14 11:58 陈标 阅读(209) 评论(0) 推荐(0)
摘要:问题描述: 1、系统在执行某个操作时,必现OOM异常。 问题的定位: 1、排查代码,未发现问题。 2、在虚拟机启动时,添加参数:-XX:+HeapDumpOnOutOfMemoryError(当发生oom异常时,生成dump文件),得到异常时的dump文件。 3、使用 jvisualvm 分析dum 阅读全文
posted @ 2019-08-14 11:12 陈标 阅读(234) 评论(0) 推荐(0)
摘要:jps (java process status) == ps / top 作用:显示所有运行中的java进程。 jstat 作用:查看类装载,内存,垃圾收集,jit编译的信息。 jinfo 作用:实时查看和调整虚拟机的各项参数。 jmap 作用:dump文件的生成(瞬时状态)。 jstack 作用 阅读全文
posted @ 2019-08-14 10:57 陈标 阅读(147) 评论(0) 推荐(0)
摘要:死锁的产生: 1、两个线程,各自拥有一个加锁的资源,同时都想获取对方手中的资源。 代码示例: 死锁的定位:jconsole 由上图可以发现,我们创建的线程A,B都处在阻塞状态。 点击 “检测死锁” 按钮,即可定位死锁发生的地方,如下图: 阅读全文
posted @ 2019-08-14 10:13 陈标 阅读(469) 评论(0) 推荐(0)
摘要:JVM参数格式(三种): -XX:+<option> 开启option选项,+ 开启 -XX:-<option> 关闭option选项,- 关闭 -XX:<option>=<value> 表示将option选项赋值为value 打印加载的类信息: -XX:+TraceClassLoading 当发生 阅读全文
posted @ 2018-12-20 00:20 陈标 阅读(133) 评论(0) 推荐(0)
摘要:垃圾收集器 新生代收集器: 一、Serial(串行收集器) 工作方式:这是一个单线程收集器,在进行垃圾收集时,必须暂停其他所有的工作线程,直到垃圾收集完成。(Stop The World) 优点:简单而高效,单线程对于单核CPU来说,由于没有切换线程的开销,所以性能高。 缺点:单线程收集,且必须暂停 阅读全文
posted @ 2018-11-07 22:19 陈标 阅读(225) 评论(0) 推荐(0)
摘要:垃圾收集算法 首先介绍一下如何判断一个对象是否已死: 1、引用计数法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加一;当引用失效时计数器减一。当计数器值为0时,代表对象已经不再被引用。 缺点:无法解决相互循环引用问题。 2、可达性分析算法(JVM用该算法):从一系列的“GC Roo 阅读全文
posted @ 2018-11-06 23:28 陈标 阅读(152) 评论(0) 推荐(0)
摘要:一、类的加载过程 1、加载: 1.1、通过类的全限定名来获取类的二进制字节流。 1.2、将字节流转换为方法区的运行时数据结构。 1.3、在内存中生成代表该类的java.lang.Class对象,作为该类的访问入口。 2、验证 2.1、验证字节流是否符合Class文件规范。 2.2、对字节码描述的语义 阅读全文
posted @ 2018-10-17 23:26 陈标 阅读(181) 评论(0) 推荐(0)
摘要:volatile具备的两种特性: 1、可见性 2、禁止指令重排 解析: 1、可见性:用volatile修饰的变量,会使线程在使用该变量时,每次都从主内存中读取到工作内存,再使用。 对比普通的变量,线程在使用时,如果工作内存中没有该变量,则先从主内存中拷贝,在使用。如果工作内存中已经存在了该变量,则不 阅读全文
posted @ 2018-10-16 22:44 陈标 阅读(151) 评论(0) 推荐(0)
摘要:运行时数据区域: 1、程序计数器:线程执行时的字节码行号指示器。 2、java虚拟机栈(Stack,获者称为方法栈):java方法执行的内存模型。调用方法的时候,就会创建一个虚拟机栈,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。 3、本地方法栈:存放需要调用到的Native方法的相应数据 阅读全文
posted @ 2018-10-15 23:14 陈标 阅读(190) 评论(0) 推荐(0)