【jstack查询线程信息】1.对比下arthas的thread 和jvm指令

1)jps拿到进程号

2)jstack <pid> > <xxx.txt> // jstack作用:分析线程信息,死循环,死锁

jstack 23647 > 23647.txt 

Found 1 deadlock

3)对比:arthas查看线程信息

[arthas@68751]$ thread -n 10
"MainWorker" Id=69 cpuUsage=72.29% deltaTime=156ms time=91183068ms WAITING
    at app//com.elex.billion.icefire.game.biz.service.impl.robot.RobotServiceImpl.lambda$testFightTroop$0(RobotServiceImpl.java:493)
    at app//com.elex.billion.icefire.game.biz.service.impl.robot.RobotServiceImpl$$Lambda$979/0x000000080111f440.test(Unknown Source)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.lambda$findObjects$4(AbstractSceneObjectCellContainer.java:342)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer$$Lambda$980/0x000000080111ec40.accept(Unknown Source)
    at java.base@11.0.16.1/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4772)
    at java.base@11.0.16.1/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
    at app//com.elex.icefire.scene.object.SceneObjectContainer.forEach(SceneObjectContainer.java:183)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.lambda$forEachObjectInRect$0(AbstractSceneObjectCellContainer.java:171)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer$$Lambda$981/0x000000080111e040.accept(Unknown Source)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.forEachCellInRect(AbstractSceneObjectCellContainer.java:122)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.forEachCellInRect(AbstractSceneObjectCellContainer.java:157)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.forEachObjectInRect(AbstractSceneObjectCellContainer.java:171)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.forEachObjectInBoundingBox(AbstractSceneObjectCellContainer.java:188)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.findObjects(AbstractSceneObjectCellContainer.java:341)
    at app//com.elex.icefire.scene.object.AbstractSceneObjectCellContainer.findObjects(AbstractSceneObjectCellContainer.java:323)
    at app//com.elex.billion.icefire.game.biz.service.impl.robot.RobotServiceImpl.testFightTroop(RobotServiceImpl.java:493)
    at app//com.elex.billion.icefire.game.biz.service.impl.robot.instance.FightNpcInstance.onInstanceTick(FightNpcInstance.java:162)
    at app//com.elex.billion.icefire.game.biz.service.impl.robot.RobotServiceImpl.playerForcedLowTick(RobotServiceImpl.java:133)
    at app//com.elex.billion.icefire.game.biz.service.flow.LogicServiceManager.playerForcedLowTick(LogicServiceManager.java:268)
    at app//com.elex.billion.icefire.game.biz.service.impl.player.PlayerTickHandler.tick(PlayerTickHandler.java:39)
    at app//com.elex.billion.icefire.game.biz.service.impl.player.PlayerTickHandler.tick(PlayerTickHandler.java:14)
    at app//com.elex.billion.icefire.game.biz.common.AbstractTickerUnitManager.tick(AbstractTickerUnitManager.java:97)
    at app//com.elex.billion.icefire.game.biz.model.world.World.tick(World.java:190)
    at app//com.elex.billion.icefire.game.biz.exec.MainTask.run(MainTask.java:83)
    at app//com.elex.billion.icefire.game.biz.exec.MainWorker.execute(MainWorker.java:55)
    at app//com.elex.framework.core.thread.SingleThreadTaskWorker.run(SingleThreadTaskWorker.java:158)
    at app//com.elex.framework.core.thread.NamedRunnable.run(NamedRunnable.java:65)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.16.1/java.lang.Thread.run(Thread.java:834)


"AsyncOperationServiceImpl-thread-26" Id=198 cpuUsage=51.81% deltaTime=112ms time=405798ms RUNNABLE
    at java.base@11.0.16.1/java.net.SocketInputStream.socketRead0(Native Method)
    at java.base@11.0.16.1/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
    at java.base@11.0.16.1/java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.base@11.0.16.1/java.net.SocketInputStream.read(SocketInputStream.java:140)
    at app//com.mongodb.internal.connection.SocketStream.read(SocketStream.java:109)
    at app//com.mongodb.internal.connection.SocketStream.read(SocketStream.java:131)
    at app//com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:648)
    at app//com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:513)
    at app//com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:356)
    at app//com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:280)
    at app//com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive(UsageTrackingInternalConnection.java:100)
    at app//com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceive(DefaultConnectionPool.java:490)
    at app//com.mongodb.internal.connection.CommandProtocolImpl.execute(CommandProtocolImpl.java:71)
    at app//com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:255)
    at app//com.mongodb.internal.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:202)
    at app//com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:118)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation.executeCommand(MixedBulkWriteOperation.java:431)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation.executeBulkWriteBatch(MixedBulkWriteOperation.java:251)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation.access$700(MixedBulkWriteOperation.java:76)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:194)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:185)
    at app//com.mongodb.internal.operation.OperationHelper.withReleasableConnection(OperationHelper.java:620)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:185)
    at app//com.mongodb.internal.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:76)
    at app//com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:195)
    at app//com.mongodb.client.internal.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:1009)
    at app//com.mongodb.client.internal.MongoCollectionImpl.executeUpdate(MongoCollectionImpl.java:993)
    at app//com.mongodb.client.internal.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:578)
    at app//com.elex.billion.icefire.game.biz.service.impl.db.DBService.doUpdateOneEntity(DBService.java:252)
    at app//com.elex.billion.icefire.game.biz.service.impl.db.DBAsyncSave.saveDB(DBAsyncSave.java:127)
    at app//com.elex.billion.icefire.game.biz.service.impl.db.DBAsyncSave.run(DBAsyncSave.java:108)
    at app//com.elex.billion.icefire.game.biz.service.impl.AsyncOperationServiceImpl.internalAsyncRunner(AsyncOperationServiceImpl.java:128)
    at app//com.elex.billion.icefire.game.biz.service.impl.AsyncOperationServiceImpl.lambda$execute$0(AsyncOperationServiceImpl.java:84)
    at app//com.elex.billion.icefire.game.biz.service.impl.AsyncOperationServiceImpl$$Lambda$599/0x0000000800cfac40.run(Unknown Source)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.16.1/java.lang.Thread.run(Thread.java:834)


"So-Worker-BigWorld-t8" Id=236 cpuUsage=43.67% deltaTime=94ms time=21315607ms WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41d
    at java.base@11.0.16.1/jdk.internal.misc.Unsafe.park(Native Method)
    -  waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41d
    at java.base@11.0.16.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
    at java.base@11.0.16.1/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:267)
    at app//ch.qos.logback.core.OutputStreamAppender.writeBytes(OutputStreamAppender.java:200)
    at app//ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:193)
    at app//ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:228)
    at app//ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
    at app//ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
    at app//ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
    at app//ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
    at app//ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
    at app//ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
    at app//ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:386)
    at app//ch.qos.logback.classic.Logger.info(Logger.java:596)
    at app//com.elex.service.conf.model.fight.GameFormula.baseAttack(GameFormula.java:224)
    at app//com.elex.service.conf.model.fight.GameFormula.attack(GameFormula.java:242)
    at app//com.elex.icefire.scene.object.model.skill.effect.SSE_Hurt.castToTarget(SSE_Hurt.java:99)
    at app//com.elex.icefire.scene.object.model.skill.effect.SSE_Hurt.castTo(SSE_Hurt.java:53)
    at app//com.elex.icefire.scene.object.model.skill.effect.AbstractSceneSkillEffect.castTo(AbstractSceneSkillEffect.java:272)
    at app//com.elex.icefire.scene.object.model.skill.SceneNormalAttackSkill.attack(SceneNormalAttackSkill.java:44)
    at app//com.elex.icefire.scene.object.model.SceneBattle.normalAttack(SceneBattle.java:681)
    at app//com.elex.icefire.scene.object.model.SceneBattle.action1(SceneBattle.java:596)
    at app//com.elex.icefire.scene.object.model.SceneBattle.updateAction(SceneBattle.java:497)
    at app//com.elex.icefire.scene.ticker.SOT_Battle.lambda$updateObjects$4(SOT_Battle.java:82)
    at app//com.elex.icefire.scene.ticker.SOT_Battle$$Lambda$998/0x000000080115dc40.accept(Unknown Source)
    at java.base@11.0.16.1/java.lang.Iterable.forEach(Iterable.java:75)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils.listObjectAction(ThreadUtils.java:79)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils.lambda$forEach$3(ThreadUtils.java:55)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils$$Lambda$902/0x0000000800fb3c40.run(Unknown Source)
    at java.base@11.0.16.1/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.16.1/java.lang.Thread.run(Thread.java:834)


"So-Worker-BigWorld-t4" Id=232 cpuUsage=34.88% deltaTime=75ms time=21301342ms WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41d
    at java.base@11.0.16.1/jdk.internal.misc.Unsafe.park(Native Method)
    -  waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41d
    at java.base@11.0.16.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:917)
    at java.base@11.0.16.1/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1240)
    at java.base@11.0.16.1/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:267)
    at app//ch.qos.logback.core.OutputStreamAppender.writeBytes(OutputStreamAppender.java:200)
    at app//ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:193)
    at app//ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:228)
    at app//ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
    at app//ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
    at app//ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
    at app//ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
    at app//ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
    at app//ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
    at app//ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:386)
    at app//ch.qos.logback.classic.Logger.info(Logger.java:596)
    at app//com.elex.service.conf.model.fight.GameFormula.attack(GameFormula.java:269)
    at app//com.elex.icefire.scene.object.model.skill.effect.SSE_Hurt.castToTarget(SSE_Hurt.java:99)
    at app//com.elex.icefire.scene.object.model.skill.effect.SSE_Hurt.castTo(SSE_Hurt.java:53)
    at app//com.elex.icefire.scene.object.model.skill.effect.AbstractSceneSkillEffect.castTo(AbstractSceneSkillEffect.java:272)
    at app//com.elex.icefire.scene.object.model.skill.SceneNormalAttackSkill.attack(SceneNormalAttackSkill.java:44)
    at app//com.elex.icefire.scene.object.model.SceneBattle.normalAttack(SceneBattle.java:681)
    at app//com.elex.icefire.scene.object.model.SceneBattle.action1(SceneBattle.java:596)
    at app//com.elex.icefire.scene.object.model.SceneBattle.updateAction(SceneBattle.java:497)
    at app//com.elex.icefire.scene.ticker.SOT_Battle.lambda$updateObjects$4(SOT_Battle.java:82)
    at app//com.elex.icefire.scene.ticker.SOT_Battle$$Lambda$998/0x000000080115dc40.accept(Unknown Source)
    at java.base@11.0.16.1/java.lang.Iterable.forEach(Iterable.java:75)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils.listObjectAction(ThreadUtils.java:79)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils.lambda$forEach$3(ThreadUtils.java:55)
    at app//com.elex.billion.icefire.core.thread.ThreadUtils$$Lambda$902/0x0000000800fb3c40.run(Unknown Source)
    at java.base@11.0.16.1/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base@11.0.16.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base@11.0.16.1/java.lang.Thread.run(Thread.java:834)

4)jvm命令快速查看是否有死锁

可以看出来,我主要想看下是否有死锁情况,此时我用arthas的jvm命令看的会更加清楚:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 THREAD
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 COUNT                                                 277
 DAEMON-COUNT                                          108
 PEAK-COUNT                                            279
 STARTED-COUNT                                         474
 DEADLOCK-COUNT                                        0    // 所以暂时是没有死锁的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984342.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vite 6 升级指南:CJS 和 ESM 的爱恨情仇

Vite 6 升级指南&#xff1a;CJS 和 ESM 的爱恨情仇 前言&#xff1a;老朋友 CJS&#xff0c;新欢 ESM 说到 JavaScript 模块化&#xff0c;CJS 和 ESM 这俩货简直像是两代人的思维碰撞。前者是 Node.js 的老朋友&#xff0c;后者是前端新时代的宠儿。Vite 6 直接把 CJS 踢出…

FreeRTOS任务状态查询

一.任务相关API vTaskList&#xff08;&#xff09;&#xff0c;创建一个表格描述每个任务的详细信息 char biaoge[1000]; //定义一个缓存 vTaskList(biaoge); //将表格存到这缓存中 printf("%s /r/n",biaoge); 1.uxTaskPriorityGet&#xff08;&#xf…

【3】VS Code 新建上位机项目---C#窗体与控件开发

【3】VS Code 新建上位机项目---C#窗体与控件开发 1 窗体1.1 新建窗体1.2 windows程序与窗口的关系1.3 windows程序的事件1.3.1 定义事件与处理事件1.3.2 关联事件1.3.3 Windows窗体对象创建与显示(show与ShowDialog())2 控件与容器2.1 常用容器2.1.1 Groupbox2.1.2 Pannel2.1.…

AI编程: 一个案例对比CPU和GPU在深度学习方面的性能差异

背景 字节跳动正式发布中国首个AI原生集成开发环境工具&#xff08;AI IDE&#xff09;——AI编程工具Trae国内版。 该工具模型搭载doubao-1.5-pro&#xff0c;支持切换满血版DeepSeek R1&V3&#xff0c; 可以帮助各阶段开发者与AI流畅协作&#xff0c;更快、更高质量地完…

ubuntu 20.04下ZEDmini安装使用

提前安装好显卡驱动和cuda&#xff0c;如果没有安装可以参考我的这两篇文章进行安装&#xff1a; ubuntu20.04配置YOLOV5&#xff08;非虚拟机&#xff09;_ubuntu20.04安装yolov5-CSDN博客 ubuntu20.04安装显卡驱动及问题总结_乌班图里怎么备份显卡驱动-CSDN博客 还需要提前…

2025数据存储技术风向标:解析数据湖与数据仓库的实战效能差距

一、技术演进的十字路口 当前全球数据量正以每年65%的复合增长率激增&#xff0c;IDC预测到2027年企业将面临日均处理500TB数据的挑战。在这样的背景下&#xff0c;传统数据仓库与新兴数据湖的博弈进入白热化阶段。Gartner最新报告显示&#xff0c;采用混合架构的企业数据运营效…

Spring(1)——mvc概念,部分常用注解

1、什么是Spring Web MVC&#xff1f; Spring MVC 是一种基于 Java 的实现了 MVC&#xff08;Model-View-Controller&#xff0c;模型 - 视图 - 控制器&#xff09;设计模式的 Web 应用框架&#xff0c;它是 Spring 框架的一个重要组成部分&#xff0c;用于构建 Web 应用程序。…

PY32MD320单片机 QFN32封装,内置多功能三相 NN 型预驱。

PY32MD320单片机是普冉半导体的一款电机专用MCU&#xff0c;芯片采用了高性能的 32 位 ARM Cortex-M0 内核&#xff0c;主要用于电机控制。PY32MD320嵌入高达 64 KB Flash 和 8 KB SRAM 存储器&#xff0c;最高工作频率 48 MHz。PY32MD320单片机的工作温度范围为 -40 ~ 105 ℃&…

《OkHttp:工作原理 拦截器链深度解析》

目录 一、OKHttp 的基本使用 1. 添加依赖 2. 发起 HTTP 请求 3. 拦截器&#xff08;Interceptor&#xff09; 4. 高级配置 二、OKHttp 核心原理 1. 责任链模式&#xff08;Interceptor Chain&#xff09; 2. 连接池&#xff08;ConnectionPool&#xff09; 3. 请求调度…

HeidiSQL:一款免费的数据库管理工具

HeidiSQL 是一款免费的图形化数据库管理工具&#xff0c;支持 MySQL、MariaDB、Microsoft SQL、PostgreSQL、SQLite、Interbase 以及 Firebird&#xff0c;目前只能在 Windows 平台使用。 HeidiSQL 的核心功能包括&#xff1a; 免费且开源&#xff0c;所有功能都可以直接使用。…

C/C++蓝桥杯算法真题打卡(Day3)

一、P8598 [蓝桥杯 2013 省 AB] 错误票据 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 读取数据行数unordered_map<int, int> idCount; // 用于统计每个ID出现的次数vector<int> ids; …

【2025软考高级架构师】——软件工程(2)

摘要 本文主要介绍了软件工程中常见的多种软件过程模型&#xff0c;包括瀑布模型、原型模型、V模型、W模型、迭代与增量模型、螺旋模型、构件组装模型、基于构件的软件工程&#xff08;CBSE&#xff09;、快速应用开发&#xff08;RAD&#xff09;、统一过程/统一开发方法和敏…

【Vue3 Element UI - Plus + Tyscript 实现Tags标签输入及回显】

Vue3 Element Plus TypeScript 实现 Tags 标签输入及回显 在开发后台管理系统或表单页面时&#xff0c;动态标签&#xff08;Tags&#xff09; 是一个常见的功能需求。用户可以通过输入框添加标签&#xff0c;并通过关闭按钮删除标签&#xff0c;同时还需要支持标签数据的提…

Easysearch 使用 AWS S3 进行快照备份与还原:完整指南及常见错误排查

Easysearch 可以使用 AWS S3 作为远程存储库&#xff0c;进行索引的快照&#xff08;Snapshot&#xff09;备份和恢复。同时&#xff0c;Easysearch 内置了 S3 插件&#xff0c;无需额外安装。以下是完整的配置和操作步骤。 1. 在 AWS S3 上创建存储桶 登录 AWS 控制台&#x…

【CSS3】筑基篇

目录 复合选择器后代选择器子选择器并集选择器交集选择器伪类选择器 CSS 三大特性继承性层叠性优先级 背景属性背景色背景图背景图平铺方式背景图位置背景图缩放背景图固定背景复合属性 显示模式显示模式块级元素行内元素行内块元素 转换显示模式 结构伪类选择器结构伪类选择器…

【MySQL】(4) 表的操作

一、创建表 语法&#xff1a; 示例&#xff1a; 生成的数据目录下的文件&#xff1a; 二、查看表结构 三、修改表 语法&#xff1a; 另一种改表名语法&#xff1a;rename table old_name1 to new_name1, old_name2 to new_name2; 示例&#xff1a; 四、删除表 语法&#xf…

C++:string容器(下篇)

1.string浅拷贝的问题 // 为了和标准库区分&#xff0c;此处使用String class String { public :/*String():_str(new char[1]){*_str \0;}*///String(const char* str "\0") // 错误示范//String(const char* str nullptr) // 错误示范String(const char* str …

基于Harbor构建docker私有仓库

Harbor 是一个开源的企业级容器镜像仓库&#xff0c;主要用于存储、签名和扫描容器镜像。Harbor 基于 Docker Registry 构建&#xff0c;并在此基础上增加了许多企业级特性&#xff0c;以满足企业对安全性、可扩展性和易用性的需求。Harbor 的架构由多个组件组成&#xff0c;包…

阿里发布新开源视频生成模型Wan-Video,支持文生图和图生图,最低6G就能跑,ComFyUI可用!

Wan-Video 模型介绍&#xff1a;包括 Wan-Video-1.3B-T2V 和 Wan-Video-14B-T2V 两个版本&#xff0c;分别支持文本到视频&#xff08;T2V&#xff09;和图像到视频&#xff08;I2V&#xff09;生成。14B 版本需要更高的 VRAM 配置。 Wan2.1 是一套全面开放的视频基础模型&…

运动控制卡--概述学习

目录 概述 技术背景 常见的运动控制卡分类&#xff1a; 国外品牌 国内品牌 各个品牌官网 国外品牌 国内品牌 概述 运动控制卡被称作控制卡&#xff0c;只是因为它做成卡的形式&#xff0c;可以插进工控机主板上&#xff0c;一般走pci或pcie通讯。运动控制卡负责接收计算…