【Java jVM】 内存管理
【Java jVM】 内存管理Metadatatitle: 【Java jVM】 内存管理
date: 2023-07-01 22:56
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java jVM】 内存管理
【Java JVM】 JVM与Java体系结构undefined
undefined
【Java JVM】 类加载子系统undefined
undefined
【Java JVM】 对象实例化undefined
undefined
【Java JVM】 运行时数据区undefined
【Java JVM】 执行引擎undefined
undefined
【Java JVM】 StringTableundefined
undefined
【Java JVM】 直接内存undefined
【Java JVM】 垃圾收集 ...
【Java JVM】 垃圾收集
【Java JVM】 垃圾收集Metadatatitle: 【Java JVM】 垃圾收集
date: 2023-07-01 22:56
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java JVM】 垃圾收集
【Java JVM】 垃圾回收概述及算法undefined
undefined
【Java JVM】 垃圾回收相关概念undefined
undefined
【Java JVM】 垃圾回收器undefined
undefined
【Java JVM】 分析 GC 日志
【Java JVM】 分析 GC 日志Metadatatitle: 【Java JVM】 分析 GC 日志
date: 2023-07-01 11:22
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java JVM】 分析 GC 日志
GC 分类针对 HotSpot VM 的实现,它里面的 GC 按照回收区域又分为两大种类型:一种是部分收集(Partial GC),一种是整堆收集(Full GC)
部分收集(Partial GC):不是完整收集整个 Java 堆的垃圾收集。其中又分为:
新生代收集(Minor GC / Young GC):只是新生代(Eden / S0, S1)的垃圾收集
老年代收集(Major GC / Old GC):只是老年代的垃圾收集。目前,只有 CMS GC 会有单独收集老年代的行为。注意, ...
【Java JVM】 JVM 运行时参数
【Java JVM】 JVM 运行时参数Metadatatitle: 【Java JVM】 JVM 运行时参数
date: 2023-07-01 11:14
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java
categories:
- Java
keywords:
- Java
description: 【Java JVM】 JVM 运行时参数
【Java JVM】 JVM 运行时参数官网地址:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
类型一:标准参数选项> java -help
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
...
【Java JVM】 JVM监控及诊断工具-GUI篇
【Java JVM】 JVM监控及诊断工具-GUI篇Metadatatitle: 【Java JVM】 JVM监控及诊断工具-GUI篇
date: 2023-07-01 10:59
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java JVM】 JVM监控及诊断工具-GUI篇
【Java JVM】 JVM监控及诊断工具-GUI篇使用上一章命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息,但它们存在下列局限:
1.无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等(这对定位应用性能瓶颈至关重要)。
2.要求用户登录到目标 Java 应用所在的宿主机上,使用起来不是很方便。
3.分析数据通过终端输出,结果展示不够直观。
为此,JDK 提供了一些内存泄漏的分析工具,如 jconsol ...
【Java JVM】 JVM 监控及诊断工具-命令行篇
【Java JVM】 JVM 监控及诊断工具-命令行篇Metadatatitle: 【Java JVM】 JVM 监控及诊断工具-命令行篇
date: 2023-07-01 10:36
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java JVM】 JVM 监控及诊断工具-命令行篇
【Java JVM】 JVM 监控及诊断工具-命令行篇性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。
Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因素非常多,例如线程控制、磁盘读写、数据库访问、网络 I/O、垃圾收集等。想要定位这些问题,一款优秀的性能诊断工具必不可少。
体会 1:使用数据说明问题,使用知识 ...
【Java JVM】 性能监控与调优
【Java JVM】 性能监控与调优Metadatatitle: 【Java JVM】 性能监控与调优
date: 2023-06-30 19:33
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java/JVM
categories:
- Java
keywords:
- Java/JVM
description: 【Java JVM】 性能监控与调优
【Java JVM】 性能监控与调优背景说明生产环境中的问题
生产环境发生了内存溢出该如何处理?
生产环境应该给服务器分配多少内存合适?
如何对垃圾回收器的性能进行调优?
生产环境 CPU 负载飙高该如何处理?
生产环境应该给应用分配多少线程合适?
不加 log,如何确定请求是否执行了某一行代码?
不加 log,如何实时查看某个方法的入参与返回值?
为什么要调优
防止出现 OOM
解决 OOM
减少 Full GC 出现的频率
不同阶段的考虑
上线前
项目运行阶段
线上出现 OOM
调 ...
【Java JVM】 字节码与类加载
【Java JVM】 字节码与类加载Metadatatitle: 【Java JVM】 字节码与类加载
date: 2023-06-30 19:33
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java
categories:
- Java
keywords:
- Java
description: 【Java JVM】 字节码与类加载
【Java JVM】 字节码指令集undefined
【Java JVM】 Class 文件结构undefined
【Java JVM】 类的加载过程(类的生命周期)详解undefined
【Java JVM】 再谈类的加载器undefined
【Java JVM】 再谈类的加载器
【Java JVM】 再谈类的加载器Metadatatitle: 【Java JVM】 再谈类的加载器
date: 2023-06-30 19:12
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java
categories:
- Java
keywords:
- Java
description: 【Java JVM】 再谈类的加载器
概述类加载器是JVM执行类加载机制的前提。
ClassLoader的作用:
ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang.Class对象实例。然后交给Java虚拟机进行链接、初始化等操作。因此,ClassLoader在整个装载阶段,只能影响到类的加载,而无法通过ClassLoader去改变类的链接和初始化行为。至于它是否可以运行,则由 ...
【Java JVM】 类的加载过程(类的生命周期)详解
【Java JVM】 类的加载过程(类的生命周期)详解Metadatatitle: 【Java JVM】 类的加载过程(类的生命周期)详解
date: 2023-06-30 18:54
tags:
- 行动阶段/完成
- 主题场景/程序
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/Java
categories:
- Java
keywords:
- Java
description: 【Java JVM】 03-类的加载过程(类的生命周期)详解
概述在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。
按照 Java 虚拟机规范,从 class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下 7 个阶段:
其中,验证、准备、解析 3 个部分统称为链接(Linking)
从程序中类的使用过程看
大厂面试题
蚂蚁金服:
描述一下 JVM 加载 Class 文件的原理机制?
一面:类加载过程
百度:
类加载的时 ...