- 简介
- JVM是Java Virtual Machine (Java虚拟机) 的缩写
- 计算设备的规范、虚构出来的计算机
- 通过在实际的计算机上仿真模拟各种计算机功能来实现的
- 引入JVM之后, 在不同的平台上不需要编译、就可以运行
- JVM的基本结构
- JVM由三个子系统组成
- 类加载子系统
- 运行时数据区(内存结构)

- 执行引擎
- 栈和堆
- 堆(heap): 存放对象的实例
- 栈(Stack): 主要是跑程序的
- 栈是一种堆形集合,其添加和删除元素的操作应在同一段完成,栈按照后进先出的方式进行处理,堆是栈的一个组成元素.
- 不全, 后面补上
- GC调优
- 使用可视化工具: GCeasy
- jvm调优主要就是调整下面的两个指标
- 停顿时间: 垃圾收集器做垃圾回收终端应用的执行时间。-XX:MaxGCpAUSEMills
- 吞吐量: 垃圾收集的时间和总时间的占比99最好
- 第一步: 打印GC日志
- -verbose:gc: 开启gc日志
- -XX:+PrintGCDetails: 打印gc详情
- -XX:+PrintGCDateStamps: 打印gc时间戳
- -Xloggc:gcc.log : 将日志输出到文件xx(默认位置为桌面)
- 第二步: 启动项目
- java -jar -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc: ../gcc.log eureak.jar
- 第三步: 分析日志得到关键的指标数
- 第四步: 分析GC原因, 调整JVM参数
posted on
2021-06-23 16:17
(Play)
阅读(
62)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~