05 2020 档案

摘要:概述 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等 jps:虚拟机进程状况工具 jps可以列出正在运行 阅读全文
posted @ 2020-05-05 23:14 遗失的岁月 阅读(271) 评论(0) 推荐(0) 编辑
摘要:介绍 用于监视虚拟机各种运行信息的工具。它可以显示本地或着远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 jstat命令 jstat[options vmid[interval[s|ms][count]]] interval 和 count 代表查询间隔和次数,如果缺省这两个参数, 阅读全文
posted @ 2020-05-05 21:26 遗失的岁月 阅读(143) 评论(0) 推荐(0) 编辑
摘要:介绍 jps可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机卫衣的ID jps命令 jps[options][hostid] 参数说明 |选项|作用| |: :|: :| | q|只输出LVMID,省略主类的名称| | m|输出虚拟机进程启动时传递给主类main()函数 阅读全文
posted @ 2020-05-05 20:54 遗失的岁月 阅读(145) 评论(0) 推荐(0) 编辑
摘要:相关概念 先引入两个概念,在JVM堆内存中,又分为新生代和老年代 新生代:主要是用来存放新生的对象。一般占据堆的1/3空间 老年代:主要存放应用程序中生命周期长的内存对象 内存分配规则 对象优先在Eden分配 大多数情况下,对象优先在新生代Eden区中分配。当Eden区没有足够的空间进行分配的时候, 阅读全文
posted @ 2020-05-05 20:30 遗失的岁月 阅读(109) 评论(0) 推荐(0) 编辑
摘要:概述 垃圾收集器是垃圾回收算法(标记 清除算法、复制算法、标记 整理算法)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别,本文主要介绍HotSpot虚拟机中的垃圾收集器。7种垃圾收集器如图所示。 图中表示7种作用于不同分代的收集器,如果两个收集器之间存在连线,说明可以搭配使 阅读全文
posted @ 2020-05-03 14:08 遗失的岁月 阅读(210) 评论(0) 推荐(0) 编辑
摘要:标记 清除算法 含义: 最基础的收集算法是“标记清除算法”,算法分为“标记”和清除两个阶段;首先标记出所有需要回收的对象,在标记完成后统一回收到所有被标记的对象。 主要问题: 效率问题,标记和清除两个工程效率都不高 空间问题,标记清楚后会产生大量不连续的内存空间,如图所示 复制算法 含义:将内存按容 阅读全文
posted @ 2020-05-02 11:42 遗失的岁月 阅读(155) 评论(0) 推荐(0) 编辑
摘要:哪些内存需要回收 在Java的内存运行区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;因此这几个区域不需要过多考虑回收的问题,因为方法结束或线程结束的生活,内存自然就跟着回收了。 而在Java堆中和方法区则不一样,一个接口的多个实现类需要的内存可能不一样且只有在程 阅读全文
posted @ 2020-05-02 10:06 遗失的岁月 阅读(184) 评论(0) 推荐(0) 编辑
摘要:JVM运行时数据区域 Java虚拟机在执行Java程序的过程中,会把它管理的内存划分为若干个不同的数据区域。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示 程序计数器 程序计数器: 可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下 阅读全文
posted @ 2020-05-01 16:05 遗失的岁月 阅读(101) 评论(0) 推荐(0) 编辑