【MapSheep】
[好记性不如烂笔头]
posts - 228,comments - 15,views - 17万
  1. 简介
    • JVM是Java Virtual Machine (Java虚拟机) 的缩写
    • 计算设备的规范、虚构出来的计算机
    • 通过在实际的计算机上仿真模拟各种计算机功能来实现的
    • 引入JVM之后, 在不同的平台上不需要编译、就可以运行
  2. JVM的基本结构
    • JVM由三个子系统组成
    • 类加载子系统
    • 运行时数据区(内存结构)

    • 执行引擎
  3. 栈和堆
    • 堆(heap): 存放对象的实例
    • 栈(Stack): 主要是跑程序的
    • 栈是一种堆形集合,其添加和删除元素的操作应在同一段完成,栈按照后进先出的方式进行处理,堆是栈的一个组成元素.
  4. 不全, 后面补上
  5. 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   (Play)  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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的设计差异
· 三行代码完成国际化适配,妙~啊~

点击右上角即可分享
微信分享提示