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

【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 WAITINGat 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 RUNNABLEat 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@213dd41dat java.base@11.0.16.1/jdk.internal.misc.Unsafe.park(Native Method)-  waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41dat 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@213dd41dat java.base@11.0.16.1/jdk.internal.misc.Unsafe.park(Native Method)-  waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@213dd41dat 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                                                 277DAEMON-COUNT                                          108PEAK-COUNT                                            279STARTED-COUNT                                         474DEADLOCK-COUNT                                        0    // 所以暂时是没有死锁的

相关文章:

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

1)jps拿到进程号 2)jstack <pid> > <xxx.txt> // jstack作用:分析线程信息,死循环,死锁 jstack 23647 > 23647.txt Found 1 deadlock 3)对比:arthas查看线程信息 [arthas68751]$ thread -n 10 "MainWorker" Id69 cpuUsage72.29% deltaTime156ms …...

苦瓜书盘官网,免费pdf/mobi电子书下载网站

苦瓜书盘&#xff08;kgbook&#xff09;是一个专注于提供6英寸PDF和MOBI格式电子书的免费下载平台&#xff0c;专为电子阅读器用户设计。该平台为用户提供了丰富的电子书资源&#xff0c;涵盖文学、历史、科学、技术等多个领域&#xff0c;旨在打造一个全面的电子书资源库。用…...

【AI】AI开源IDE:CLine源码分析报告

1. 源码位置&#xff1a; CLine 是一个开源的 VSCode 插件&#xff0c;其完整源码托管在 GitHub 的 cline/cline 仓库中。这个仓库包含 CLine 的核心逻辑&#xff08;TypeScript 编写&#xff09;&#xff0c;包括与 LLM 的对话控制、工具调用接口&#xff0c;以及 VSCode 插件…...

Nacos学习笔记-占位符读取其他命名空间内容

Nacos当前命名空间下的配置文件需要跨命名空间读取其他配置文件的内容。可以先通过Nacos提供的API接口获取配置文件内容&#xff0c;然后解析数据将其放入环境的PropertySource中。 相关依赖包 <!-- Nacos依赖包 --> <dependency><groupId>com.alibaba.clo…...

HarmonyOS 音频录制与播放模块

HarmonyOS 音频录制与播放模块 1.模块功能概览 麦克风权限动态检测与申请音频录制功能&#xff08;支持参数配置&#xff09;音频波形实时可视化&#xff08;暂时未完善&#xff0c;先凑合看&#xff0c;后续会完善&#xff09;录音文件播放功能 2.权限检测流程 1.代码实现…...

小白学Agent技术[4](Agent设计模式)

文章目录 Agent设计模式Zero shotFew shot应用场景 技术特性对比ReAct模式ReAct模式简介ReAct模式举例ReAct模式实现 Plan and Solve模式实现原理 Reason without Observation模式LLMCompiler模式实现原理 Basic ReflectionBasic Reflection原理 Reflexion 模式Reflexion 模式原…...

Google参数逆向 谷歌搜索

背景 从2025年1月15日开始&#xff0c;Google强制用户开启JavaScript才能使用Google搜索功能。 由于此前业务需要调用Google搜索功能去寻找目标资源进行下载&#xff0c;Google的改版导致整条产线全部瘫痪&#xff0c;急需解决方案。 业务每日需要Google搜索数百万次 临时解决方…...

OneM2M:全球性的物联网标准-可应用于物联网中

OneM2M 是一个全球性的物联网(IoT)标准,旨在为物联网设备和服务提供统一的框架和接口,以实现设备之间的互操作性、数据共享和服务集成。OneM2M 由多个国际标准化组织(如 ETSI、TIA、TTC、ARIB 等)共同制定,目标是解决物联网领域的碎片化问题,提供一个通用的标准,支持跨…...

MySQL环境搭建和基本操作

前言 MySQL是现在最为流行的数据库&#xff0c;而且是开源的&#xff0c;任何人都可以在Internet下载,进行安装。 MySQL环境搭建 一、软件包安装 MySQL是目前最为流行的开放源码的数据库&#xff0c;是完全网络化的跨平台的关系型数据库系统&#xff0c;它是由瑞典MySQLAB公司…...

【GIT】non-fast-forward错误

遇到 non-fast-forward 错误时&#xff0c;通常是因为远程仓库有本地尚未包含的提交&#xff08;如远程仓库初始化时自动生成的 README.md 等文件&#xff09;。以下是分步解决方案&#xff1a; 1. 拉取远程更改并合并历史 git pull origin master --allow-unrelated-historie…...

深入了解Linux —— 调试程序

前言 我们已经学习了linux下许多的工具&#xff0c;vim、gcc、make/makefile等&#xff1b; 已经能够在linux写代码&#xff0c;并且进行编译运行&#xff0c;让程序在linux下跑起来。 但是&#xff0c;如果我们在写代码的时候遇见了错误&#xff1b;但是我们并不知道错误在哪&…...

JVM - 3.垃圾回收

1.垃圾收集的经典问题 1.哪些内存需要回收2.什么时候回收3.如何回收1.你知道哪几种垃圾回收器&#xff0c;各自的优缺点&#xff0c;重点讲一下cms和g12.JVM GC算法有哪些&#xff0c;目前的JDK版本采用什么回收算法3.G1回收器的回收过程 1.Java中垃圾的定义&#xff08;Garbag…...

vs code 设置字体颜色

修改setting.json文件 {"remote.SSH.remotePlatform": {"ubuntu": "linux"},// "workbench.colorTheme": "One Dark Pro",// "editor.semanticTokenColorCustomizations": {// },"editor.semanticTokenColo…...

MoonSharp 文档一

目录 1.Getting Started(入门手册) 步骤1:在 IDE 中引入 MoonSharp 步骤2:引入命名空间 步骤3:调用脚本 步骤4:运行代码 2.Keeping a Script around(保留一个脚本) 步骤1:复现前教程所有操作 步骤2:改为创建Script对象 步骤3:访问全局环境 步骤4:直接调用…...

Unity3D 图形渲染(Graphics Rendering)详解

前言 Unity3D 是一款广泛使用的游戏引擎&#xff0c;其图形渲染系统是开发者创建高质量视觉效果的核心。本文将深入探讨 Unity3D 的图形渲染管线、渲染技术、以及如何通过代码实现自定义渲染效果。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;大家可以点击进来一…...

计算机视觉图像点运算【灰度直方图均衡化图形界面实操理解 +开源代码】

对一个数字图像处理系统来说&#xff0c;一般的处理过程为三个步骤&#xff1a;图像预处理、特征抽取、图像识别和分析。图像的点运算就是预处理过程中的重要一步&#xff0c;点运算是对图像的灰度级进行变换。 图像点运算概念 点运算是指对图像的每个像素依次进行相同的灰度变…...

在Windows 7操作系统,基于llama.cpp本地化部署 deepseek-r1模型的方法 2025-02-08

一、概述 现在已经是大模型时代。 个人认为&#xff0c;deepseek效果惊艳&#xff0c;大模型已进入实用阶段。 有些电脑&#xff0c;由于种种原因&#xff0c;还在用 Windows 7&#xff0c; Windows XP 等操作系统。 为了让这些电脑用上大模型&#xff0c;本教程在 llama.c…...

力扣146 - LRU缓存

视频讲解 哈希 双向链表 为什么要用双向链表&#xff1f; 快速删除节点&#xff08;O(1&#xff09;&#xff09; 如果是单链表的话&#xff0c;删除一个节点时&#xff0c;需要从头遍历&#xff0c;找到前驱节点&#xff0c;才能修改 prev->next&#xff0c;导致 O(n)…...

C++ 算法竞赛STL以及常见模板

目录 STL /*═══════════════ Vector ═══════════════*/ /*════════════════ Pair ════════════════*/ /*══════════════ String ════════════════*/ /*══════════…...

微信小程序将markdown内容转为pdf并下载

要在微信小程序中将Markdown内容转换为PDF并下载,您可以使用以下方法: 方法一:使用第三方API服务 选择第三方API服务: 可以选择像 Pandoc、Markdown-PDF 或 PDFShift 这样的服务,将Markdown转换为PDF。例如,PDFShift 提供了一个API接口,可以将Markdown内容转换为PDF格式…...

大麦抢票自动化终极指南:5分钟快速上手教程

大麦抢票自动化终极指南&#xff1a;5分钟快速上手教程 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 您是否曾因热门演唱会门票秒光而遗憾&#x…...

3步告别卡顿:用鸣潮工具箱实现流畅游戏体验

3步告别卡顿&#xff1a;用鸣潮工具箱实现流畅游戏体验 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你的游戏还在卡顿吗&#xff1f;试试这个免费解决方案 你是否曾经在《鸣潮》的激烈战斗中遭遇突然的…...

低功耗设计避坑指南:从UPF报错案例学习isolation rules的正确姿势

低功耗设计避坑指南&#xff1a;从UPF报错案例学习isolation rules的正确姿势 在芯片设计领域&#xff0c;低功耗已成为衡量产品竞争力的核心指标之一。随着工艺节点不断演进&#xff0c;静态功耗占比显著提升&#xff0c;使得电源门控&#xff08;Power Gating&#xff09;技术…...

Magisk系统权限架构深度解析:Android设备Root权限优雅解决方案

Magisk系统权限架构深度解析&#xff1a;Android设备Root权限优雅解决方案 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk Magisk作为Android系统权限管理领域的革命性工具&#xff0c;通过独特的系统化…...

开源OFA模型多场景落地:新闻图库自动配文、政府信息公开图片无障碍描述生成

开源OFA模型多场景落地&#xff1a;新闻图库自动配文、政府信息公开图片无障碍描述生成 1. 项目概述&#xff1a;让图片会说话的智能助手 你有没有遇到过这样的情况&#xff1a;看着一张图片&#xff0c;却不知道该怎么用文字描述它&#xff1f;或者需要为大量图片手动添加文…...

告别TeamViewer!用RustDesk自建服务器实现跨平台远程控制(Windows/Ubuntu客户端全配置)

告别商业远程控制软件&#xff1a;用RustDesk自建服务器全流程指南 远程控制软件已经成为现代工作场景中不可或缺的工具&#xff0c;无论是技术支持、远程办公还是跨设备协作&#xff0c;一个稳定高效的远程连接方案都能极大提升工作效率。然而&#xff0c;商业软件如TeamViewe…...

贾子公理体系全场景应用白皮书——从底层逻辑根服务器到数字政府、金融、AI等十大领域落地

GG3M贾子公理体系&#xff1a;一套底层公理贯通十大全场景应用落地副标题&#xff1a; 贾子公理体系全场景应用白皮书——从底层逻辑根服务器到数字政府、金融、AI等十大领域落地摘要&#xff1a; 贾子公理体系是GG3M项目的底层逻辑根服务器&#xff0c;以自洽可演绎的公理系统…...

Fish-Speech-1.5 API调用教程:Python脚本批量生成语音

Fish-Speech-1.5 API调用教程&#xff1a;Python脚本批量生成语音 1. 为什么选择Fish-Speech-1.5进行批量语音生成 在日常工作中&#xff0c;我们经常遇到需要将大量文本转换为语音的场景。无论是为视频内容生成旁白&#xff0c;还是为电子书制作有声版本&#xff0c;传统的人…...

MusePublic Art Studio参数详解:随机种子锁定与艺术风格复现方法

MusePublic Art Studio参数详解&#xff1a;随机种子锁定与艺术风格复现方法 1. 理解随机种子&#xff1a;艺术创作的"基因密码" 在AI图像生成领域&#xff0c;随机种子就像是每幅作品的DNA序列。它决定了生成过程中的随机性因素&#xff0c;是控制输出结果一致性的…...

Windows风扇噪音终结者:FanControl实战解密与深度配置

Windows风扇噪音终结者&#xff1a;FanControl实战解密与深度配置 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...