JVM专题之垃圾收集器
JVM参数
3.1.1 标准参数
-version
-help
-server
-cp

3.1.2 -X参数
非标准参数,也就是在JDK各个版本中可能会变动
```
-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
-Xmixed 混合模式,JVM自己来决定

3.1.3 -XX参数
> 使用得最多的参数类型
>
> 非标准化参数,相对不稳定,主要用于JVM调优和Debug
```
a.Boolean类型
格式:-XX:[+-]<name> +或-表示启用或者禁用name属性
比如:-XX:+UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器
-XX:+UseG1GC 表示启用G1类型的垃圾回收器
b.非Boolean类型
格式:-XX<name>=<value>表示name属性的值是value
比如:-XX:MaxGCPauseMillis=500
```
3.1.4 其他参数
```
-Xms1000M等价于-XX:InitialHeapSize=1000M
-Xmx1000M等价于-XX:MaxHeapSize=1000M
-Xss100等价于-XX:ThreadStackSize=100
```
> 所以这块也相当于是-XX类型的参数
3.1.5 查看参数
> java -XX:+PrintFlagsFinal -version > flags.txt

> 值得注意的是"="表示默认值,":="表示被用户或JVM修改后的值
> 要想查看某个进程具体参数的值,可以使用jinfo,这块后面聊
> 一般要设置参数,可以先查看一下当前参数是什么,然后进行修改
3.1.6 设置参数的常见方式
* 开发工具中设置比如IDEA,eclipse
* 运行jar包的时候:java -XX:+UseG1GC xxx.jar
* web容器比如tomcat,可以在脚本中的进行设置
* 通过jinfo实时调整某个java进程的参数(参数只有被标记为manageable的flags可以被实时修改)
3.1.7 实践和单位换算
1Byte(字节)=8bit(位)
1KB=1024Byte(字节)
1MB=1024KB
1GB=1024MB
1TB=1024GB
```
```
(1)设置堆内存大小和参数打印
-Xmx100M -Xms100M -XX:+PrintFlagsFinal
(2)查询+PrintFlagsFinal的值
:=true
(3)查询堆内存大小MaxHeapSize
:= 104857600
(4)换算
104857600(Byte)/1024=102400(KB)
102400(KB)/1024=100(MB)
(5)结论
104857600是字节单位
```
3.1.8 常用参数含义
| 参数 | 含义 | 说明 |
| :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------: |
| -XX:CICompilerCount=3 | 最大并行编译数 | 如果设置大于1,虽然编译速度会提高,但是同样影响系统稳定性,会增加JVM崩溃的可能 |
| -XX:InitialHeapSize=100M | 初始化堆大小 | 简写-Xms100M |
| -XX:MaxHeapSize=100M | 最大堆大小 | 简写-Xms100M |
| -XX:NewSize=20M
相关文章:
JVM专题之垃圾收集器
JVM参数 3.1.1 标准参数 -version -help -server -cp 3.1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 ``` -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 3.1.3 -XX参数 > 使用得最多的参数类型 > > 非…...
SSM养老院管理系统-计算机毕业设计源码02221
摘要 本篇论文旨在设计和实现一个基于SSM的养老院管理系统,旨在提供高效、便捷的养老院管理服务。该系统将包括老人档案信息管理、护工人员管理、房间信息管理、费用管理等功能模块,以满足养老院管理者和居民的不同需求。 通过引入SSM框架&#x…...
使用Keil将STM32部分程序放在RAM中运行
手动分配RAM区域,新建.sct文件,定义RAM_CODE区域,并指定其正确的起始地址和大小。 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************…...
【MySQL8.0】 CentOS8.0下安装mysql报错权限问题的记录
这里写自定义目录标题 基本信息问题记录 基本信息 OS: Linux server-02 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux MySQL: 8.0 问题记录 缺少类库 mysql: error while loading shared libraries: libncurses.so.5: cannot…...
在内网互通的服务器中自由跳转与数据管理
在服务器中自由跳转与数据管理:实用命令指南 在管理或使用集群服务器环境时,高效地在不同节点间跳转、执行命令以及数据的相互拷贝是日常操作的重要组成部分。 1. 在集群节点间自由跳转:SSH(Secure Shell) SSH 是实…...
Arcgis Api 三维聚合支持最新版API
Arcgis Api 三维聚合支持最新版API 最近有同学问我Arcgis api 三维聚合,官方还不支持三维聚合API,二维可以。所以依旧是通过GraphicLayers 类来实现,可支持最新Arcgis Api版本 效果图:...
在Conda环境中高效使用Kubernetes:跨平台容器化实践指南
摘要 Conda 是一个流行的跨平台包和环境管理器,广泛用于Python社区。而 Kubernetes 是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。本文将探讨如何在 Conda 环境中使用 Kubernetes,包括设置 Conda 环境、容器化应用程…...
scikit-learn超参数调优 (自动寻找模型最佳参数) 方法
网格搜索(Grid Search): 原理:网格搜索通过预定义的参数组合进行穷举搜索,评估每一种参数组合的性能,选择性能最佳的参数组合。实现:使用GridSearchCV类。示例代码:from sklearn.mod…...
零基础STM32单片机编程入门(八)定时器PWM输入实战含源码视频
文章目录 一.概要二.PWM输入框架图三.CubeMX配置一个PWM输入例程1.硬件准备2.创建工程3.调试 四.CubeMX工程源代码下载五.讲解视频链接地址六.小结 一.概要 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用单…...
spring cloud gateway客户端websocket断开连接,服务侧连接没有关闭的问题处理
之前在单体架构项目中使用了websocket主动推送消息的功能,后来改成了微服务架构,结果发现部分消息丢失,没能推送给客户端;深入排查发现服务端无法感知websocket连接状态,但是在单体架构里面是没这个问题的,…...
确认下单:购物车页面点击 去结算 按钮发起两个请求trade(显示购物车的商品信息和计算商品的总金额)findUserAddressList
文章目录 1、确认下单:购物车页面点击去结算1.1、在OrderController类中创建 trade 方法1.2、在CartController类中创建 checkedCartInfos1.3、CartServiceImpl 实现 checkedCartInfos的业务功能1.4、在service-cart-client模块下定义远程openFeign接口1.5、在SpzxO…...
聚类分析方法(一)
目录 一、聚类分析原理(一)聚类分析概述(二)聚类的数学定义(三)簇的常见类型(四)聚类框架及性能要求(五)簇的距离 二、划分聚类算法(一࿰…...
Midjourney对图片细微调整和下载保存
点击v2是对第二图片细微调整。 点击u3对第3张图片进行放大。 保存图片: 对点击u3放大的图片,双击 , 右键保存图片...
Python文件写入操作
本套课在线学习视频(网盘地址,保存到网盘即可免费观看): https://pan.quark.cn/s/b19a7c910cf6 在Python编程中,文件操作是一项基础且重要的技能。本文将详细介绍如何使用Python将列表内容写入文件以实现文件…...
FPGA_GTX:简要版
1. GTX介绍 Xilinx FPGA的GT意思是Gigabyte Transceiver。通常称呼为Serdes、高速收发器。GT在xilinx不同系列有着不同的产品,从7系列到UltraScale系列分别有GTP、GTX、GTZ、GTH、GTY和GTM。不同GT整体结构上类似,为了支持越来越高的line rateÿ…...
使用mq向队列发送消息流程
新建队列q1和q2绑定交换机和队列之间的消息路由向默认的交换机发送消息查看两个队列中的交换机消息(get messages),也可以在overview选项卡页面查看实时流量图 这里注意: 1.交换机是转发消息用的,他并没有存储消息的…...
Git中两个开发分支merge的原理
一 分支合并 1.1 原理 分支合并:就是将A分支修改后且commit的内容,合并到B分支,这些修改且提交的内容和B分支对应的内容和位置进行比较: 1.不一样的话,提示冲突,需要人工干预。 2.一样的话,…...
数字图像处理、机器视觉(计算机视觉)、计算图形学概念
数字图像处理(Digital Image Processing)--又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,达到人们所要求的预期结果。从输入到输出来看,数字图…...
Android SurfaceFlinger ——获取显示屏信息(十八)
经过前面文章对开机启动动画的流程梳理,引出了实际上在开机启动动画中,并没有Activity,而是通过 OpenGL es 进行渲染,最后通过某种方式,把数据交给 Android 渲染系统。 让我们回忆一下开机动画前期准备的相关步骤,大致分为如下几个: 1)getInternalDisplayToken:获取显…...
QCustomPlot+ vs2022+ qt
零、printSupport 步骤一:下载QCustomPlot 访问QCustomPlot的官网 QCustomPlot 下载最新版本的源代码。 步骤二:配置项目 创建新的Qt项目: 打开VS2022,创建一个新的Qt Widgets Application项目。 将QCustomPlot源代码添加到项目…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
