jvisualvm学习

news/2024/10/6 18:03:19 标签: 学习, java, OpenFeign, 微服务, jvm, GC

系列文章目录

JavaSE
基础知识、数据类型学习万年历项目代码逻辑训练习题
代码逻辑训练习题方法、数组学习图书管理系统项目
面向对象编程:封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习
集合学习IO流、多线程学习仓库管理系统JavaSE项目
员工管理系统、多表查询、反射实现DBHelper学习DML、DDL、数据库对象学习
JavaWeb
网络编程、各种标签、CSS学习ECMAScript、BOM学习DOM、jQuery学习
Servlet、JSP、Cookie、Ajax学习融资管理系统JavaWeb项目
框架
MyBatis框架学习逆向工程、Spring框架IOC、AOP学习SpringMVC框架学习
SpringBoot框架学习招聘网站框架项目Vue介绍、窗体内操作、窗体间操作学习
Vue路由配置、网络请求访问框架项目、element组件介绍学习标准管理系统Vue项目
微服务
Linux安装、Nginx反向代理、负载均衡学习Docker学习Jenkins学习
Nexus学习Spring Security学习RabbitMQ学习
Redis学习MongoDB学习MongoDB学习
Nacos学习Spring Session学习Spring Gateway学习
JSR 303学习OpenFeign学习Dubbo学习
Hystrix学习Sentinel学习JMeter学习
Seata学习

文章目录

  • 系列文章目录
  • 前言
  • 一、jvisualvm的垃圾回收介绍
    • 1. 内存管理介绍
    • 2. 内存区域划分
      • 2.1 新生代(Young Generation)
      • 2.2 老年代(Old Generation)
    • 3. GC机制
      • 3.1 Minor GC(局部 GC
      • 3.2 Major GC(全局GC
      • 3.3 优化策略
  • 二、jvisualvm代码实现
    • 1. 启动jvisualvm
    • 2. 出现错误
    • 3. 选中要监控的线程
  • 总结


前言

本文我们要讲述:
jvisualvm
在下攸攸太上,我朋友的姐姐的老公结婚了。


一、jvisualvm的垃圾回收介绍

1. 内存管理介绍

在Java虚拟机(JVM)中,内存管理是一个重要的主题,尤其是垃圾回收(GC)机制。JVM的内存分为多个区域,其中最主要的两个区域是新生代(Young Generation)和老年代(Old Generation)。了解这些区域的特性和GC机制对于优化应用程序的性能至关重要。

2. 内存区域划分

2.1 新生代(Young Generation)

Eden区:新创建的对象首先被分配到Eden区。
Survivor区:包括两个Survivor区(S0 和 S1),用于存放从Eden区经过GC后仍然存活的对象。

2.2 老年代(Old Generation)

用于存放经过多次GC后仍然存活的对象,通常是生命周期较长的对象。

GC_44">3. GC机制

GC_GC_45">3.1 Minor GC(局部 GC

触发条件:当Eden区满时触发。
过程
将Eden区中存活的对象复制到S0区。
清空Eden区。
将S1区中存活的对象复制到S0区。
清空S1区。
S0和S1区交替使用。
特点:速度较快,因为只涉及新生代。

GCGC_54">3.2 Major GC(全局GC

触发条件:当老年代满时触发。
过程
对整个堆(包括新生代和老年代)进行垃圾回收。
通常使用标记-清除(Mark-Sweep)或标记-整理(Mark-Compact)算法。
特点:耗时较长,因为涉及整个堆。

3.3 优化策略

减少全局GC的触发
对象提升:通过调整对象提升到老年代的阈值,减少老年代的占用。
内存分配:合理分配内存,避免频繁触发GC
优化新生代GC
调整Survivor区大小:确保Survivor区有足够的空间存放存活对象,避免频繁复制。
调整Eden区大小:根据应用的内存使用情况,合理调整Eden区的大小。

二、jvisualvm代码实现

1. 启动jvisualvm

在jdk安装环境下找到jvisualvm.exe
在这里插入图片描述
点击工具下的插件
在这里插入图片描述
插件中点击检查更新
在这里插入图片描述
在可用插件中选择Visual GC,点击安装
在这里插入图片描述
点击下一步
在这里插入图片描述
选择接受,安装
在这里插入图片描述
安装即可完成

2. 出现错误

如果出现如下错误
在这里插入图片描述
进入如下网址
https://visualvm.github.io/uc/8u131/updates.html
在这里插入图片描述

3. 选中要监控的线程

在这里插入图片描述
我们发送请求之后可以发现新生代会慢慢增加
在这里插入图片描述


总结

本文讲述了:
jvisualvm:虚拟机垃圾回收监控
在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上,在下攸攸太上!


http://www.niftyadmin.cn/n/5691973.html

相关文章

《Windows PE》4.1导入表

导入表顾名思义,就是记录外部导入函数信息的表。这些信息包括外部导入函数的序号、名称、地址和所属的DLL动态链接库的名称。Windows程序中使用的所有API接口函数都是从系统DLL中调用的。当然也可能是自定义的DLL动态链接库。对于调用方,我们称之为导入函…

无需VPN!大厂力作:免费AI对口型神器登场,让你的视频制作更简单!

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 (偶尔会因为推荐工具&#xff…

Redis:list类型

Redis:list类型 list命令非阻塞LPUSHLRANGELPUSHXRPUSHRPUSHXLPOPRPOPLINDEXLINSERTLLENLREMLTRIMLSET 阻塞BLPOPBRPOP 内部编码ziplistlinkedlistquicklist 几乎每种语言都有顺序表、数组、链表这样的顺序结构,Redis也做出了相应的支持。 如图&#xff…

Github界面学习

之前并没有使用到其他功能大多数是看代码,然后看discussion; now,在做毕设的时候发现了一个gymnasium关于异步环境的bug,查看github发现已经被修复了; 因此希望学习一下修复者是在哪个module修复以及如何修复以及提交代码&#…

计算机网络:物理层 —— 物理层概述

文章目录 物理层功能物理层接口特性常见特性 相关概念 物理层(Physical Layer)是OSI(Open Systems Interconnection)模型的第一层,负责提供原始比特流传输的服务。它定义了硬件接口的电气、机械、功能和过程特性&#…

《CUDA编程》5.获得GPU加速的关键

从本章起&#xff0c;将关注CDUA程序的性能&#xff0c;即执行速度 1 用CUDA事件计时 在前几章中&#xff0c;使用的是C的<time.h>库进行程序运行计时&#xff0c;CUDA也提供了一种基于CUDA event的计时方式&#xff0c;用来给一段CUDA代码进行计时&#xff0c;这里只介…

《数据结构》--队列【各种实现,算法推荐】

一、认识队列 队列是一种常见的数据结构&#xff0c;按照先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则排列数据。也就是说&#xff0c;最早进入队列的元素最先被移除。队列主要支持两种基本操作&#xff1a; 入队&#xff08;enqueue&#xff0…

ElasticSearch备考 -- Multi match

一、题目 索引task有3个字段a、b、c&#xff0c;写一个查询去匹配这三个字段为mom&#xff0c;其中b的字段评分比a、c字段大一倍&#xff0c;将他们的分数相加作为最后的总分数 二、思考 通过题目要求对多个字段进行匹配查询&#xff0c;可以考虑multi match、bool query操作。…