JVM
文章平均质量分 92
又菜又爱玩٩( ö̆ ) و
人菜就要多学习
展开
-
JVM调优命令及工具
jvisualvm命令JVisualVM是JDK自带的性能检测工具,路径在%JAVA_HOME%/bin下,可以识别机器上所有Java进程,可以对堆内存进行dump、快照以及性能可视化分析,也可以安装插件来分析GC趋势、内存消耗详细状况(Visual GC插件)等。Jmap命令Jmap是JDK自带的一种内存映像工具,可以用来查看内存信息,实例个数以及导出dump文件等。命令帮助geniusdew@localhost ~ % jmap -helpUsage: jmap [option]原创 2021-05-28 14:34:52 · 161 阅读 · 1 评论 -
JVM垃圾回收机制
对象存活分析引用计数法给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0的对象就是不再被使用的。 这种方法很难解决对象之间相互循环引用的问题,所以很少有被使用。可达性分析算法将“GC Roots” 对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象都标记为非垃圾对象,其余未标记的对象都是垃圾对象 。GC Roots根节点:线程栈的本地变量、静态变量、本地方法栈的变量等等。分代收集理论根据对象存活周期的不同将内存原创 2021-05-21 17:15:39 · 207 阅读 · 0 评论 -
JVM对象创建和内存分配
1 对象创建流程设置对象头(Object Header)初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。这些信息存放在对象的对象头Object Header之中。在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、 实例数据(Instance Data)和对齐填充(Padding)。HotSpot虚拟机的对象头包括两部分信息:1.Mark Word标原创 2021-05-13 18:10:46 · 142 阅读 · 1 评论 -
类加载运行过程
目录一、类的加载,连接和初始化1.1加载1.1.1加载.class文件的方式1.1.2有两种类型的类加载器1.2连接1.2.1验证1.2.2准备1.2.3解析1.3初始化1.3.1静态变量初始化两种途径1.3.2初始化语句1.3.3类初始化的步骤1.3.4类初始化的时机二、类加载器2.1JVM自带加载器2.2父亲委托机制2.3命...原创 2019-10-24 11:45:25 · 494 阅读 · 0 评论 -
JVM内存模型、参数配置
目录1 概述和基本概念1.1概述1.2体系结构1.2.1 类加载子系统1.2.2运行时数据区1.2.3执行引擎2 堆,栈和方法区2.1概念和联系2.2辨清java堆2.3java栈2.4方法区3 了解虚拟机参数3.1虚拟机参数3.2堆分配参数3.3堆溢出处理3.4栈配置3.5方法区配置3.6直接内存配置4 垃圾回收概念...原创 2019-06-22 17:29:17 · 248 阅读 · 0 评论