
JVM
文章平均质量分 92
又菜又爱玩٩( ö̆ ) و
人菜就要多学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM调优命令及工具
jvisualvm命令 JVisualVM是JDK自带的性能检测工具,路径在%JAVA_HOME%/bin下,可以识别机器上所有Java进程,可以对堆内存进行dump、快照以及性能可视化分析,也可以安装插件来分析GC趋势、内存消耗详细状况(Visual GC插件)等。 Jmap命令 Jmap是JDK自带的一种内存映像工具,可以用来查看内存信息,实例个数以及导出dump文件等。 命令帮助 geniusdew@localhost ~ % jmap -help Usage: jmap [option]原创 2021-05-28 14:34:52 · 268 阅读 · 1 评论 -
JVM垃圾回收机制
对象存活分析 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0的对象就是不再被使用的。 这种方法很难解决对象之间相互循环引用的问题,所以很少有被使用。 可达性分析算法 将“GC Roots” 对象作为起点,从这些节点开始向下搜索引用的对象,找到的对象都标记为非垃圾对象,其余未标记的对象都是垃圾对象 。 GC Roots根节点:线程栈的本地变量、静态变量、本地方法栈的变量等等。 分代收集理论 根据对象存活周期的不同将内存原创 2021-05-21 17:15:39 · 270 阅读 · 0 评论 -
JVM对象创建和内存分配
1 对象创建流程 设置对象头(Object Header) 初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。这些信息存放在对象的对象头Object Header之中。 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、 实例数据(Instance Data)和对齐填充(Padding)。 HotSpot虚拟机的对象头包括两部分信息: 1.Mark Word标原创 2021-05-13 18:10:46 · 248 阅读 · 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 · 575 阅读 · 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 · 317 阅读 · 0 评论