当前位置: 首页 > news >正文

jvisualvm学习

系列文章目录

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后仍然存活的对象,通常是生命周期较长的对象。

3. GC机制

3.1 Minor GC(局部 GC)

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

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.lryc.cn/news/454265.html

相关文章:

  • Gazebo环境下开源UAV与USV联合仿真平台
  • Linux进程调度和进程切换
  • 机器学习基本上就是特征工程——《特征工程训练营》
  • Android Framework AMS(01)AMS启动及相关初始化1-4
  • 基于基于微信小程序的社区订餐系统
  • [单master节点k8s部署]29.Istio流量管理(五)
  • Something for 24OI
  • 【React】事件机制
  • 华为OD的职级与薪资
  • 【HTML5】html5开篇基础(4)
  • HTTP【网络】
  • MQ延迟消息:原理、实现与应用
  • 计算机网络—大端序和小端序
  • 《OpenCV 计算机视觉》—— Harris角点检测、SIFT特征检测
  • rtmp协议转websocketflv的去队列积压
  • Elasticsearch实战应用:构建高效搜索引擎
  • Hive数仓操作(四)
  • 《C++跨平台开发:突破界限,释放无限可能》
  • 速盾:免备案服务器?
  • Electron获取nodejs和chrome版本信息
  • 【React】setState 批量更新
  • 微信小程序开发日记第二天
  • 如果您忘记了 Apple ID 和密码,按照指南可重新进入您的设备
  • Top4免费音频剪辑软件大比拼,2024年你选哪一款?
  • 基于SSM的电影院售票系统设计与实现
  • uniapp 必须掌握的细节
  • JavaWeb——Vue组件库Element(3/6):常见组件:Dialog对话框、Form表单(介绍、使用、实际效果)
  • 一个月学会Java 第2天 认识类与对象
  • 【WRF数据准备】MODIS静态地理数据下载及制备
  • MySQL数据库——索引