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

【实战场景】记一次UAT jvm故障排查经历

【实战场景】记一次UAT jvm故障排查经历

  • 开篇词:
  • 干货篇:
      • 1.查看系统资源使用情况
      • 2.将十进制进程号转成十六进制
      • 3.使用jstack工具监视进程的垃圾回收情况
      • 4.输出指定线程的堆内存信息
      • 5.观察日志
      • 6.本地环境复现
  • 总结篇:
  • 我是杰叔叔,一名沪漂的码农,下期再会!

开篇词:

故障背景是客服中心通话历史分表4季度,单表200w+,查询一年的数据量,大分页(查询第20w页的10条数据)查询多次,tomcat卡死,一段时间后,后台其他定时任务,kafaka消费线程恢复正常,tomcat web容器依旧高cpu,具卡无比。

干货篇:

1.查看系统资源使用情况

top -H -p 49339
解释:查看进程49339进程的实时系统资源使用情况,“-H”表示查看进程中所有线程资源占用情况; “-p”指用来指定具体进程号

2.将十进制进程号转成十六进制

printf “%x \n” 49339
解释:转换的目的是让这个线程ID能和jstack输出的线程ID匹配上,因为jstack输出的是十六进制的线程ID

3.使用jstack工具监视进程的垃圾回收情况

jstat -gc 49339 3 5
解释:通过jstat工具查看jvm 垃圾回收情况,“-gc”指定要监视的内容为垃圾回收情况;“3”每隔三秒输出一次监视结果;“5”一共输出5次监视结果。
在这里插入图片描述

其中各参数代表的含义:

  • S0C (Survivor space 0 capacity):第一个幸存区(Survivor space)的容量(以字节为单位)。幸存区用于存放垃圾收集后存活的对象。
  • S1C (Survivor space 1 capacity):第二个幸存区的容量(以字节为单位)。在大多数 JVM 实现中,幸存区有两个,用于在不同的垃圾收集周期之间切换。
  • S0U (Survivor space 0 utilization):第一个幸存区当前已使用的空间大小(以字节为单位)。
  • S1U (Survivor space 1 utilization):第二个幸存区当前已使用的空间大小(以字节为单位)。
  • EC (Eden space capacity):Eden 区的容量(以字节为单位)。Eden 区是 Java 堆的一部分,用于存放新生成的对象。
  • EU (Eden space utilization):Eden 区当前已使用的空间大小(以字节为单位)。
  • OC (Old space capacity):老年代(Old Generation)的容量(以字节为单位)。老年代用于存放存活时间较长的对象。
  • OU (Old space utilization):老年代当前已使用的空间大小(以字节为单位)。
  • MC (Metaspace capacity):元空间(Metaspace,Java 8 引入以替代永久代)的容量(以字节为单位)。元空间用于存放类的元数据。
  • MU (Metaspace utilization):元空间当前已使用的空间大小(以字节为单位)。
  • CCSC (Compressed class space capacity):压缩类空间(Java 8+ 中使用)的容量(以字节为单位)。这个空间用于存放类的元数据,但与元空间分开管理。
  • CCSU (Compressed class space utilization):压缩类空间当前已使用的空间大小(以字节为单位)。
  • YGC (Young GC count):年轻代垃圾收集的次数。
  • YGCT (Young GC time):年轻代垃圾收集所花费的总时间(以秒为单位)。
  • FGC (Full GC count):完全垃圾收集(Full GC,也称作老年代垃圾收集)的次数。
  • FGCT (Full GC time):完全垃圾收集所花费的总时间(以秒为单位)。
  • GCT (Total GC time):垃圾收集所花费的总时间(以秒为单位),包括年轻代和完全垃圾收集的时间。
    请注意,具体的输出参数可能会因 JVM 的版本和配置(如是否启用了压缩指针等)而有所不同。此外,对于 JDK 11 及更高版本,元空间(Metaspace)取代了永久代(PermGen space),因此相关的参数(如 PC 和 PU)在较新版本的 JVM 中不再出现。

4.输出指定线程的堆内存信息

jmap -heap 49339
解释:输出指定线程的堆内存信息
在这里插入图片描述

jstack -l 49339|grep c22a -A 20
解释:时候用jstack工具来输出java进程的线程堆栈信息,并查找包含字符串“c22a”的行,打印其后面的20行
“-l”:指定输出java进程的线程ID;“-A 20”:打印匹配行及其后面的20行

5.观察日志

发现kafka消费线程占用cpu较高,kafka consumer正常epollWait等待kafaka数据,无其他特别异常信息,暂时跳过

6.本地环境复现

更换jdbc连接池至druid,通过dashboard排查分表后的真实sql耗时,中等数据量时,由于分表的存在,limit 20w,20w+10会被重写0,20W+10,以便跨表数据内存排序,数据量大,便造成了慢查询,有可能导致OOM

总结篇:

以下是大致的排查JVM问题的思路:

  1. 初步观察和监控
    查看系统指标:使用系统监控工具(如Linux的top命令或Windows的任务管理器)查看CPU、内存和网络IO等关键指标。
    观察JVM监控工具:使用JDK自带的工具如jConsole、VisualVM或第三方工具(如Arthas)来远程连接并监控JVM的内存使用趋势、线程状态、垃圾回收活动等。
  2. 确定问题类型
    内存问题:观察是否出现OutOfMemoryError(OOM)错误,或者内存使用量异常增长。
    CPU问题:查看CPU使用率是否过高,特别是某个或某些Java线程的CPU占用率异常。
    线程问题:检查是否存在死锁、线程饥饿或线程阻塞等问题。
    垃圾回收问题:分析垃圾回收日志,查看垃圾回收的频率、时间和类型,判断是否存在频繁的Full GC或GC时间过长等问题。
  3. 使用诊断工具
    jstack:用于打印Java线程的堆栈跟踪信息,帮助定位线程问题,如死锁、线程阻塞等。
    示例命令:jstack ,其中是Java进程的进程ID。
    jmap:用于生成堆内存快照和查询堆内存使用情况。
    示例命令:jmap -heap 查看堆内存使用情况,jmap -dump:live,format=b,file=.hprof 生成堆内存快照。
    jstat:用于监视JVM中类的加载、内存、垃圾收集、JIT编译等运行时数据。
    示例命令:jstat -gc 1000每1000毫秒打印一次GC信息。
    jcmd(JDK 1.8+):集成了多个JDK诊断命令的功能,用于执行更复杂的诊断任务。
    示例命令:jcmd Thread.print打印线程信息。
  4. 分析日志和堆内存快照
    分析GC日志:通过GC日志分析垃圾回收的频率、时间、类型和原因,判断是否存在内存泄漏、堆内存设置不合理等问题。
    分析堆内存快照:使用MAT(Memory Analyzer Tool)等内存分析工具分析堆内存快照,查找内存泄漏的源头、大对象占用等。
    查看应用程序日志:检查应用程序日志以获取更多关于错误和异常的上下文信息。
  5. 定位和解决问题
    代码优化:根据分析结果优化代码,减少内存占用、避免内存泄漏、优化数据结构等。
    JVM参数调整:调整JVM启动参数,如堆内存大小(-Xms,-Xmx)、垃圾回收器类型(-XX:+UseG1GC)等,以改善JVM性能。
    升级JDK版本:如果问题是由于JDK的已知bug引起的,考虑升级到更高版本的JDK。
  6. 验证和监控
    验证修复:在开发或测试环境中验证修复是否有效,确保问题得到解决。
    持续监控:在问题解决后,持续监控系统性能,确保没有新的问题出现。

通过以上步骤,可以系统地排查和解决JVM问题,提高系统的稳定性和性能。需要注意的是,排查JVM问题可能需要一定的经验和耐心,因为问题可能由多种因素引起,需要综合考虑各种信息来找到问题的根源。

在这里插入图片描述

我是杰叔叔,一名沪漂的码农,下期再会!

相关文章:

【实战场景】记一次UAT jvm故障排查经历

【实战场景】记一次UAT jvm故障排查经历 开篇词:干货篇:1.查看系统资源使用情况2.将十进制进程号转成十六进制3.使用jstack工具监视进程的垃圾回收情况4.输出指定线程的堆内存信息5.观察日志6.本地环境复现 总结篇:我是杰叔叔,一名…...

线性代数--行列式1

本篇来自对线性代数第一篇的行列式的一个总结。 主要是行列式中有些关键点和注意事项,便于之后的考研复习使用。 首先,对于普通的二阶和三阶行列式,我们可以直接对其进行拆开,展开。 而对于n阶行列式 其行列式的值等于它的任意…...

tensorflow神经网络

训练一个图像识别模型,使用TensorFlow,需要以下步骤。 1. 安装所需的库 首先,确保安装了TensorFlow和其他所需的库。 pip install tensorflow numpy matplotlib2. 数据准备 需要收集和准备训练数据。每个类别应有足够多的样本图像。假设有…...

Python基础001

Python输出语句 print输出字符串 print("中国四大名著:","西游记|","三国演义|","红楼梦|","水浒传") print(6) print(1 1)Python输入语句 input函数 input() input("我的名字是:") p…...

【udp报文】udp报文未自动分片,报文过长被拦截问题定位

问题现象 某局点出现一个奇怪的现象,客户端给服务端发送消息,服务端仅能收到小部分消息,大部分消息从客户端发出后,服务端都未收到。 问题定位 初步分析 根据现象初步分析,有可能是网络原因导致消息到服务端不可达&a…...

某网页gpt的JS逆向

原网页网址 (base64) 在线解码 aHR0cHM6Ly9jbGF1ZGUzLmZyZWUyZ3B0Lnh5ei8 逆向效果图 调用代码(复制即用) 把倒数第三行换成下面的base64解码 aHR0cHM6Ly9jbGF1ZGUzLmZyZWUyZ3B0Lnh5ei9hcGkvZ2VuZXJhdGU import hashlib import time import reques…...

【python脚本】批量检测sql延时注入

文章目录 前言批量检测sql延时注入工作原理脚本演示 前言 SQL延时注入是一种在Web应用程序中利用SQL注入漏洞的技术,当传统的基于错误信息或数据回显的注入方法不可行时,例如当Web应用进行了安全配置,不显示任何错误信息或敏感数据时&#x…...

在C++中如何理解const关键字的不同用法(如const变量、const成员函数、const对象等)

在C中,const关键字是一个非常重要的修饰符,它用于指明变量、函数参数、成员函数或对象的内容是不可变的。理解const的不同用法对于编写高质量、易维护的C代码至关重要。下面详细解释const在几种不同上下文中的用法和含义。 1. const变量 当变量被声明为…...

JavaSEJava8 时间日期API + 使用心得

文章目录 1. LocalDate2. LocalTime3. LocalDateTime3.1创建 LocalDateTime3.2 LocalDateTime获取方法 4. LocalDateTime转换方法4.1 LocalDateTime增加或者减少时间的方法4.2 LocalDateTime修改方法 5. Period6. Duration7. 格式转换7.1 时间日期转换为字符串7.2 字符串转换为…...

【亲测解决】Python时间问题

微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?typeblog ,代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】&#xf…...

Linux屏幕驱动开发调试笔记

引言 首先了解下什么是MIPI-DSI: MIPI-DSI是一种应用于显示技术的串行接口,兼容DPI(显示像素接口,Display Pixel Interface)、DBI(显示总线接口,Display Bus Interface)和DCS(显示命令集,Display Command Set)&#…...

Nginx Http缓存的必要性!启发式缓存有什么弊端?

👀 Nginx Http缓存的必要性!启发式缓存有什么弊端? 简介启发式缓存引发的问题nginx缓存配置 简介 我们在使用React或者Vue开发项目中会使用hash、chunkhash、contenthash来给静态资源文件进行命名。这带来的好处便是当我们部署完项目后&…...

【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)

【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型) 一, 文档介绍二, 物接入IOT Hub物影子构建2.1 创建设备型项目2.2 创建物模型2.3 创建物影子 三, MQTT fx客户端连接云端3.1 MQTT fx配置3.2 MQTT fx订阅3.3 MQT…...

Mysql和ES使用汇总

一、mysql和ES在业务上的配合使用 一般使用时使用ES 中存储全文检索的关键字与获取的商品详情的id,通过ES查询获取查询商品的列表中展示的数据,通过展示id 操作去获取展示商品的所有信息。mysql根据id去查询数据库数据是很快的; 为什么ES一般…...

Android中使用performClick触发点击事件

Android中使用performClick触发点击事件 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Android开发中如何使用 performClick() 方法来触发点击…...

重生之我要学后端01--后端语言选择和对应框架选择

编程语言 后端开发通常需要掌握至少一种编程语言。以下几种语言在后端开发中非常流行: Java:广泛用于企业级应用程序。Python:因其易学性和强大的库支持(如Django和Flask)而受欢迎。Node.js(JavaScript&a…...

C语言 | Leetcode C语言题解之第206题反转链表

题目: 题解: struct ListNode* reverseList(struct ListNode* head) {if (head NULL || head->next NULL) {return head;}struct ListNode* newHead reverseList(head->next);head->next->next head;head->next NULL;return newHea…...

Flink Window DEMO 学习

该文档演示了fink windows的操作DEMO 环境准备: kafka本地运行:kafka部署自动生成名字代码:随机名自动生成随机IP代码:随机IPFlink 1.18 测试数据 自动向kafka推送数据 import cn.hutool.core.date.DateUtil; import com.alibab…...

library source does not match the bytecode for class SpringApplication

library source does not match the bytecode for class SpringApplication 问题描述:springboot源码点进去然后download source后提示标题内容。spring版本5.2.8.RELEASE,springboot版本2.7.18 解决方法:把spring版本改为与boot版本对应的6.…...

Linux基础指令介绍与详解——原理学习

前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的,…...

【代码随想录算法训练Day52】LeetCode 647. 回文子串、LeetCode 516.最长回文子串

Day51 动态规划第十三天 LeetCode 647. 回文子串 dp数组的含义:i到j的子串是否是回文的,是的话dp[i][j]1 递推公式:if(s[i]s[j]) i j 一个元素 是回文的 |i-j|1 两个元素 是回文的 j-i>1 判断dp[i1][j-1] 初始化:全部初始化成…...

VUE项目安全漏洞扫描和修复

npm audit 1、npm audit是npm 6 新增的一个命令,可以允许开发人员分析复杂的代码并查明特定的漏洞。 2、npm audit名称执行,需要包package.json和package-lock.json文件。它是通过分析 package-lock.json 文件,继而扫描我们的包分析是否包含漏洞的。 …...

Nginx主配置文件---Nginx.conf

nginx主配置文件的模块介绍 全局块: 全局块是配置文件从开始到 events 块之间的部分,其中指令的作用域是 Nginx 服务器全局。主要指令包括: user:指定可以运行 Nginx 服务的用户和用户组,只能在全局块配置。例如&…...

IOS Swift 从入门到精通:写入 Firestore数据库

文章目录 FirestoreManager 类创建文档更新文档更新 Firestore 权限规则现在,我们想要在 Firestore 中添加或更新文档。如果您还没有,我建议您阅读有关设置 Firebase Auth 和从 Firestore 读取的部分。您必须在应用程序中启用 Firebase,并在项目中启用 Firestore 数据库,才…...

维克日记 v0.4.2:开发者友好的数字化笔记工具

维克日记,专为技术开发者和笔记爱好者设计的数字化笔记工具,以其强大的功能和灵活的配置赢得了用户的好评。软件采用Markdown语法,提供实时预览功能,让您的笔记编辑更加高效和直观。维克日记的用户界面简洁而功能齐全,…...

语音房平台交友,语聊APP系统开发线上语音交友平台成熟案例源码出售

随着移动互联网的快速发展,人们对于社交方式的需求也在不断变化,语音房平台交友语助APP作为一种新兴的社交方式,以其独特的语音交流模式和实时互动的特点,受到了越来越多用户的喜爱本文将详细介绍语音房平台交友语聊APP系统的开发…...

VMamba: Visual State Space Model论文笔记

文章目录 VMamba: Visual State Space Model摘要引言相关工作Preliminaries方法网络结构2D-Selective-Scan for Vision Data(SS2D) VMamba: Visual State Space Model 论文地址: https://arxiv.org/abs/2401.10166 代码地址: https://github.com/MzeroMiko/VMamba 摘要 卷积神…...

探索哈希函数:数据完整性的守护者

引言 银行在处理数以百万计的交易时,如何确保每一笔交易都没有出错?快递公司如何跟踪成千上万的包裹,确保每个包裹在运输过程中没有丢失或被替换?医院和诊所为庞大的患者提供有效的医疗保健服务,如何确保每个患者的医疗…...

解析Kotlin中的Unit【笔记摘要】

1. Kotlin的Unit 和 Java的void 的区别 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的区别在于,void 是真的表示什么都不返回&#xff0c…...

仿论坛项目--初识Spring Boot

1. 技术准备 技术架构 • Spring Boot • Spring、Spring MVC、MyBatis • Redis、Kafka、Elasticsearch • Spring Security、Spring Actuator 开发环境 • 构建工具:Apache Maven • 集成开发工具:IntelliJ IDEA • 数据库:MySQL、Redi…...

Spring boot 更改启动LOGO

在resources目录下创建banner.txt文件,然后编辑对应的图案即可 注释工具 Spring Boot Version: ${spring-boot.version},-.___,---.__ /|\ __,---,___,- \ -.____,- | -.____,- // -., | ~\ /~ | …...

python变成几个小程序

专家系统 需要建立‘capital_data.txt’ 空文件 from tkinter import Tk, simpledialog, messageboxdef read_from_file():with open(capital_data.txt) as file:for line in file:line line.rstrip(\n)country, city line.split(/)the_world[country] citydef write_to_fi…...

nginx配置stream代理

项目中遇到某些服务在内网,需要外网访问的情况,需要配置代理访问。可用nginx搭建代理服务。 TCP代理 通过nginx的stream模块可以直接代理TCP服务,步骤如下: 在/etc/nginx/下新建proxy文件夹,用于存放代理配置。此处…...

【瑞吉外卖 | day01】项目介绍+后台登录退出功能

文章目录 瑞吉外卖 — day011. 所需知识2. 软件开发整体介绍2.1 软件开发流程2.2 角色分工2.3 软件环境 3. 瑞吉外卖项目介绍3.1 项目介绍3.2 产品原型展示3.3 技术选型3.4 功能架构3.5 角色 4. 开发环境搭建4.1 数据库环境搭建4.2 Maven项目构建 5. 后台系统登录功能5.1 创建需…...

关于批量采集1688商品主图及链接的方式:软件采集/1688官方API接口数据采集

关于批量采集,我们通常用到的是软件 采集,或者通过1688官方API数据采集的形式:用户输入一组1688商品ID,一行一个,流程会自动逐个打开对应的1688商品详情页,采集主图的所有链接。 结果保存为表格的一行&…...

Shell 获取Hive表的location 信息

用shell 获取建表语句: hive -e "show create table ods_job.ods_job_tb"得到结果: CREATE TABLE ods_job.ods_job_tb(id bigint COMMENT id, auto int COMMENT job开启/关闭:0-关闭;1-开启, ....timeout_kill string…...

从零搭建教育管理系统:Java + Vue.js 教学-02

第三步:创建实体类和 Mapper 接口 现在我们已经设计好了数据库表,接下来使用 MyBatis-Plus 将这些表映射到 Java 对象,以便在代码中轻松地进行操作。 1. 创建实体类 在 src/main/java/<your_package>/entity 目录下 (如果没有该目录,请手动创建),创建与数据库表对应…...

VSCode + GDB + J-Link 单片机程序调试实践

VSCode GDB J-Link 单片机程序调试实践 本文介绍如何创建VSCode的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 安装调试插件 在 VSCode 扩展窗口搜索安装 Cortex-Debug插件 创建调试配置 在 Run and Debug 窗口点击 create a launch.json …...

grpc学习golang版( 五、多proto文件示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文…...

LeetCode 106 从中序与后序遍历序列构造二叉树

根据中序遍历和后序遍历的性质&#xff0c;还原二叉树&#xff0c;详细见注释 TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {//空&#xff0c;直接返回nullif(inorder.size() 0) return nullptr;//一个&#xff0c;返回一个nod…...

Vue Router的深度解析

引言 在现代Web应用开发中&#xff0c;客户端路由已成为实现流畅用户体验的关键技术。与传统的服务器端路由不同&#xff0c;客户端路由通过JavaScript在浏览器中控制页面内容的更新&#xff0c;避免了页面的全量刷新。Vue Router作为Vue.js官方的路由解决方案&#xff0c;以其…...

YOLO-V2

一、V2版本细节升级 1、YOLO-V2&#xff1a; 更快&#xff01;更强 1.1 做的改进内容 1. YOLO-V2-Batch Normalization V2版本舍弃Dropout&#xff0c;卷积后每一层全部加入Batch Normalization网络的每一层的输入都做了归一化&#xff0c;收敛相对更容易经过Batch Norma…...

pmp考试的通过标准是什么?

PMP考试的是否通过并不是依据类似其他考试的数值成绩&#xff0c;是通过考生收到邮件通知后去主动查询具体的页面得知的。查询页除了电子证书的下载方式&#xff0c;还有成绩报告单的选项以及成绩饼状图&#xff0c;具体如下&#xff1a; 页面中显示“PASS”表示考试通过。 显…...

不懂PyQt5垂直布局?只需3分钟即可学会

PyQt5中实现垂直布局&#xff0c;主要使用QVBoxLayout类。该布局管理器将子控件垂直排列&#xff0c;并可以根据需要自动调整大小。使用QVBoxLayout可以方便地构建从上到下排列的界面元素。 import sys from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QPus…...

从零开始实现大语言模型(二):文本数据处理

1. 前言 神经网络不能直接处理自然语言文本&#xff0c;文本数据处理的核心是做tokenization&#xff0c;将自然语言文本分割成一系列tokens。 本文介绍tokenization的基本原理&#xff0c;OpenAI的GPT系列大语言模型使用的tokenization方法——字节对编码(BPE, byte pair en…...

生物分子生物学实验过程的自动化与智能监控系统设计

开题报告&#xff1a;生物分子生物学实验过程的自动化与智能监控系统设计 一、引言 随着生物科学技术的飞速发展&#xff0c;生物分子生物学实验在科研、医疗、农业等领域的应用日益广泛。然而&#xff0c;传统的生物分子生物学实验过程大多依赖于人工操作&#xff0c;存在操…...

linux的shell脚本编程详解

Shell 脚本是一种用于自动化任务的脚本语言&#xff0c;在 Linux 和其他类 Unix 操作系统中非常流行。它通常用于任务自动化、系统管理和批处理。编写 Shell 脚本并使其自动化编译过程&#xff08;例如使用 gcc 编译 C/C 程序&#xff09;是一种常见的任务。 以下是一个详细的…...

Redis 7.x 系列【11】数据类型之位图(Bitmap)

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 基本命令2.1 SETBIT2.2 GETBIT2.3 BITCOUNT2.4 BITPOS2.5 BITFIELD2.6 BITF…...

如何评定旅游卡的品质与服务?

评定旅游卡的品质与服务&#xff0c;可以从以下几个关键方面进行综合考量&#xff1a; 公司实力与资质&#xff1a;选择有实力、资质齐全的公司发行的旅游卡。查看公司背景&#xff0c;确认其是否长期稳定运营&#xff0c;是否具有旅游行业的专业资质&#xff0c;如旅行社许可证…...

适合学生暑假适用的护眼大路灯有哪些?五款好用护眼灯分享!

在护眼领域&#xff0c;护眼大路灯已经成为越来越多人的选择。这种具备实力的工具可以有效地缓解用眼疲劳、改善光线环境&#xff0c;是学生党和办公族的必备神器。然而&#xff0c;市面上的护眼大路灯品牌众多&#xff0c;如何选择一款性价比高、品质优良的产品呢&#xff1f;…...

Centos使用Docker安装JDK、Redis、Mysql、RabbitMq、Zookeeper

安装JDK8 使用以下查看当前系统是否自带JDKJava -version 未安装则使用以下命令安装及启动 docker pull java:8 docker run --name java --restartalways -d java:8安装Mysql5.7 docker pull mysql:5.7 docker run -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD12345…...

第二节-K8s词汇表

关键字词汇表 https://kubernetes.io/zh-cn/docs/reference/glossary/?fundamentaltrue API Group (API 组)Kubernetes API 中的一组相关路径。 API 服务器亦称作:kube-apiserver API 服务器是 Kubernetes 控制平面的组件&#xff0c; 该组件负责公开了 Kubernetes API&…...

04通俗理解自注意力机制(self-attention)

04浅谈自注意力机制&#xff08;self-attention&#xff09; 1. 基本概念 注意力机制 是Transformer模型的核心。它的作用是让模型能够“关注”输入数据的不同部分&#xff0c;而不是一次只处理一个词。比如&#xff0c;当模型在处理一句话时&#xff0c;它可以同时考虑句子中…...

golang template模板嵌套语法 为何不能使用变量 底层源码解析

我们都知道在golang的模板语法中&#xff0c;我们可以使用template关键字嵌套其他模块&#xff0c; 如&#xff1a; {{template "模板文件名" .}} 然而&#xff0c;这里的 “模板文件名” 是不能使用变量的&#xff01; 注意这里最后的的 . 这个实际上是templa…...

Python酷库之旅-第三方库Pandas(003)

目录 一、用法精讲 4、pandas.read_csv函数 4-1、语法 4-2、参数 4-3、功能 4-4、返回值 4-5、说明 4-6、用法 4-6-1、创建csv文件 4-6-2、代码示例 4-6-3、结果输出 二、推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、Python魔法之旅 …...

海外金融机构银行保险证券数字化转型营销销售数字化成功案例讲师培训师讲授开户销售营销客户AI人工智能创新思维

金融机构需要数字营销的主要原因 数字银行、直接存款和移动网络的兴起让客户无需前往当地分行即可轻松办理银行业务。这些举措不仅提升了用户体验&#xff0c;也迫使银行向数字化世界迈进。 金融服务公司需要在数字营销渠道上保持稳固的地位&#xff0c;以免落后于大型机构。…...

AIONV霸王龙车门首开,首款全球战略车“外刚内柔”

埃安凭借重磅车型带起了产品推新的节奏。6月20日,埃安首款全球战略车型埃安V?霸王龙全球媒体品鉴会上,新车内饰设计首次全面公开,同时,埃安官方宣布,品牌将全面启用AION字母标作为品牌全球标识,以更具国际化的形象面向全球。埃安V?霸王龙定位为中型SUV,与燃油车时代的…...

NBA总决赛揭幕体育博彩业寄望篮球盛宴提振业绩

智通财经APP获悉,随着周四晚上NBA总决赛的揭幕,波士顿凯尔特人队正准备迎战达拉斯小牛队,争夺篮球界的最高荣誉。这场七场四胜制的较量不仅在球场上备受瞩目,更在体育博彩界引发了热潮。BetMGM的首席营收官马特普雷沃斯特表示:“NBA总决赛是年度体育赛事的重头戏,它吸引了…...

2.0T275马力,油耗6.3L能加92,5米大7座

探险者固然是一款很好的车型,特别是昆仑巅峰版还带后桥限滑差速器,脱困能力更强。但探险者的价格终归比较高,退而求其次也可以看看全新换代的锐界L,整体实力也不差。新车指导价为22.98-30.98万元,目前终端优惠8800元左右。??优缺点速览优点:1、提供纯燃油和油电混动2、提…...

日系车企的“吸金”秘籍:“谨慎”与“激进”并存

近日,日系车企三强丰田、本田、日产相继发布2023财年财报。其中,丰田成为全球最为“吸金”的车企,超过中国目前排名前十车企利润的总和,也是日本近400万家企业中,营业利润首次超过5万亿日元的上市公司。同时,日产和本田也在本财年交出了一份优异的“答卷”,在营收和利润…...

国际儿童慈善组织:苏丹超1800万儿童失学超过一年

当地时间5月28日,国际儿童慈善组织救助儿童会发表声明称,自苏丹武装冲突爆发以来,针对苏丹学校和教育设施的暴力袭击事件增长了三倍。截至目前,苏丹国内已发生88起此类暴力事件。这些暴力袭击包括:对学校的空袭,造成师生伤亡;对教师施加酷刑,杀害和绑架老师以及在教育设…...

构造+模拟,CF1148C. Crazy Diamond

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1148C - Codeforces 二、解题报告 1、思路分析 题目提示O(5n)的解法了&#xff0c;事实上我们O(3n)就能解决&#xff0c;关键在于1&#xff0c;n的处理 我们读入数据a[]&#xff0c;代表初始数组…...