随笔分类 -  JVM

JVM---内存分析
摘要:支配树 在 JVM 内存分析中,支配树(Dominator Tree) 是 分析 对象内存依赖关系的重要工具,尤其在定位内存泄漏和优化内存使用场景中至关重要。 概念 支配树是一种数据结构,用于表示对象之间的支配关系。 如果从 GC Roots 到对象 B 的所有路径都必须经过对象 A,则称 A 支配 阅读全文

posted @ 2025-02-21 10:03 anpeiyong 阅读(3) 评论(0) 推荐(0) 编辑

JVM---内存分析工具
摘要:离线工具 需要先使用 jmap 导出dump文件 jmap -dump:live,format=b,file=xx.hprof pid IBM HeapAnalyzer https://www.ibm.com/support/pages/ibm-heapanalyzer open field -> 阅读全文

posted @ 2024-01-10 16:01 anpeiyong 阅读(54) 评论(0) 推荐(0) 编辑

JVM---性能监控与调优(JVM监控及诊断工具GUI_内存泄漏)
摘要:JVM监控及诊断工具-GUI 概述 jconsole 概述 启动 连接 Visual VM 概述 插件安装 Visual VM安装插件 idea中安装插件 连接 主要功能 Arthas 基本概述 背景 概述 Arthas基于哪些工具开发 官方文档 https://arthas.aliyun.com/ 阅读全文

posted @ 2022-12-05 17:07 anpeiyong 阅读(54) 评论(0) 推荐(0) 编辑

JVM---性能监控与调优(概述_JVM监控及诊断工具命令行)
摘要:概述 背景说明 1、生产环境遇到的问题? 2、为什么要调优? 3、不同阶段的考虑 调优概述 1、监控的依据 2、调优的大方向 性能优化的步骤 1、性能监控(发现问题) 2、性能分析(排查问题) 3、性能调优(解决问题) 性能评价/测试指标 1、停顿时间(或响应时间) 2、吞吐量 3、并发数 同一时刻 阅读全文

posted @ 2022-11-30 15:47 anpeiyong 阅读(99) 评论(0) 推荐(0) 编辑

JVM---JVM参数
摘要:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BGBCIEFC 参数选项类型 /** * <JVM参数-参数选项类型> * 1、标准参数 * 特点: * 以 - 开头; * 稳定,后续版本基本不会变化; * 阅读全文

posted @ 2022-05-18 16:48 anpeiyong 阅读(45) 评论(0) 推荐(0) 编辑

JVM---GC-GC日志
摘要:/** * 【GC 日志分析】 * <显示GC日志> * 输出GC日志 * -XX:+PrintGC 或 -verbose:gc * 输出GC的详细日志 * -XX:+PrintGCDetails * 输出GC的时间戳(基准时间) * -XX:+PrintGCTimeStamps * 输出GC的时间 阅读全文

posted @ 2022-05-18 11:16 anpeiyong 阅读(29) 评论(0) 推荐(0) 编辑

JVM---GC-垃圾回收器
摘要:概述 /** * 【GC 垃圾回收器】 * <概述> * 垃圾回收器 没有在规范中进行过多规定,可以由不同的厂商、不同版本的JVM来实现; * 由于JDK版本高速迭代,Java发展至今已经衍生出众多的 垃圾回收器 版本; * * <分类> * 1、按 垃圾回收器 线程数,分为: * 串行垃圾回收器S 阅读全文

posted @ 2022-05-12 14:53 anpeiyong 阅读(28) 评论(0) 推荐(0) 编辑

JVM---GC-续
摘要:分代收集算法 /** * 【GC 分代收集算法】 * ***没有最好的算法,只有最合适的算法; * * 基于 不同对象的生命周期不一样,因此,不同生命周期的对象可以采取不同的收集方式,以提高回收效率; * * 目前几乎所有的 垃圾收集器 都采用 分代收集算法 ; * eg:Hotspot中: * 年 阅读全文

posted @ 2022-05-09 16:58 anpeiyong 阅读(16) 评论(0) 推荐(0) 编辑

JVM---GC
摘要:概述 /** * 【GC 概述】 * <什么是垃圾> * 在运行程序中 没有任何指针指向的 对象; * * <为什么要进行GC> * a, 内存消耗完 * b, 碎片整理 * 除了回收垃圾对象外,GC也可以清理内存的记录碎片,碎片整理将整理出的内存分配给新的对象; * c, 影响程序正常运行 * 随 阅读全文

posted @ 2022-05-06 16:56 anpeiyong 阅读(27) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-堆-字符串常量池
摘要:/** * <java.lang.String> * * 基本特性 * 字符串,使用一对 "" 表示; * * ***不可变 * 1、堆中字符串常量池 不会存储相同内容的字符串 * eg: * private static void testStringConstantPool1() { * * S 阅读全文

posted @ 2022-04-28 17:08 anpeiyong 阅读(58) 评论(0) 推荐(0) 编辑

JVM---对象
摘要:/** * 【对象的实例化】 * <创建对象的方式> * 1、new * a, new XXX * b, XXX.static方法 * c, XXXBuilder/ XXXFactory的方法 * 2、反射 * a, Class的newInstance * ***空参构造器,权限必须是public 阅读全文

posted @ 2022-04-24 15:53 anpeiyong 阅读(14) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-PC寄存器
摘要:/** * 【运行时数据区-PC寄存器】 * * Program Counter Register(PC寄存器): * * 为什么使用PC寄存器 存储 当前线程的指令地址? * CPU需要不停切换各个线程,这时候线程切换回来后,需要知道当前线程从哪开始继续执行; * * what? * 程序计数寄存 阅读全文

posted @ 2022-04-24 10:49 anpeiyong 阅读(16) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-方法区
摘要:概述 /** * 【运行时数据区-方法区-概述】 * https://docs.oracle.com/javase/specs/jvms/se8/html/index.html * * <what> * The Java Virtual Machine has a method area that 阅读全文

posted @ 2022-04-22 15:16 anpeiyong 阅读(19) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-堆
摘要:堆 /** * 【运行时数据区 堆】 * what? * 一个JVM实例 只有 一个堆内存; * JVM启动时 堆内存被创建,内存大小也就确定了; * 堆内存大小 是可以调节的; * JVM规范规定,堆内存 可以在 物理上不连续,但在 逻辑上 应该是连续的; * ***所有的线程 共享Java堆内存 阅读全文

posted @ 2022-04-19 11:28 anpeiyong 阅读(24) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-本地方法栈
摘要:/** * 【运行时数据区-本地方法栈】 * <本地方法接口> * why * 有些层次用Java实现起来不容易(或对程序的效率很在意); * 与Java外环境交互: * 有时候Java应用需要与Java外的环境交互; * eg:与OS、硬件... * JVM依赖于底层系统的支持: * eg:OS. 阅读全文

posted @ 2022-04-18 14:31 anpeiyong 阅读(14) 评论(0) 推荐(0) 编辑

JVM---执行引擎
摘要:概述 /** * 【执行引擎-概述】 * what? * Execution Engine; * 执行引擎 是JVM核心的组成部分之一; * * 虚拟机与物理机的 执行引擎: * 同: * 都有代码执行能力; * 异: * 物理机: * 执行引擎 直接建立在 处理器、缓存、指令集、OS 上的; * 阅读全文

posted @ 2022-04-07 16:29 anpeiyong 阅读(61) 评论(0) 推荐(0) 编辑

JVM---运行时数据区-Java虚拟机栈
摘要:Java虚拟机栈 /** * 【运行时数据区-Java虚拟机栈】 * * JVM指令是 基于栈的指令架构,基于寄存器的指令架构依赖具体的平台,所以基于栈的指令架构可以跨平台; * 栈是运行时的单位,堆是存储的单位; * * Java虚拟机栈Java Virtual Machine Stack: * 阅读全文

posted @ 2022-04-02 11:00 anpeiyong 阅读(16) 评论(0) 推荐(0) 编辑

JVM---类加载子系统
摘要:作用 /** * 【JVM-类加载子系统-作用】 * 负责 从文件系统 或 网络中加载class文件; * ClassLoader 只负责 class文件的加载,至于 是否可以运行,由 Execution Engine决定; * 加载的 类元数据信息 存放于 方法区的内存空间; * (除了类元数据信 阅读全文

posted @ 2022-03-25 15:37 anpeiyong 阅读(26) 评论(0) 推荐(0) 编辑

JVM---概述
摘要:虚拟机 /** * 【虚拟机】 * Virtual Machine; * 虚拟的计算机; * 一款软件; * * 作用: * 执行一系列虚拟计算机指令; * 分类: * 系统虚拟机: * VMware...; * 对物理计算机的仿真,提供 一个可运行完整操作系统的软件平台; * 模拟硬件环境; * 阅读全文

posted @ 2022-03-24 16:58 anpeiyong 阅读(12) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示