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

mybatis plus打印sql日志到指定目录

1、mybatis plus打印sql日志

参考文档:mybatis plus打印sql日志_mybatisplus日志打印-CSDN博客

2、修改

修改InfoLevelLogger

@Override
public void debug(String s) {// 修改这里logger.info(s);log.debug(s);
}
  •  增加:log.debug(s);

修改logback.xml

<!-- 新增SQL日志输出 -->
<appender name="SqlFile" class="ch.qos.logback.core.rolling.RollingFileAppender"><File>${LOG_HOME:-d:/}logs/sql/sql.log</File><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><FileNamePattern>${LOG_HOME:-d:/}logs/sql/sql-%d{yyyy-MM-dd}.%i.log</FileNamePattern><MaxHistory>60</MaxHistory><TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><MaxFileSize>5MB</MaxFileSize></TimeBasedFileNamingAndTriggeringPolicy></rollingPolicy><layout class="ch.qos.logback.classic.PatternLayout"><pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern></layout>
</appender><!-- 配置com.ybw.interceptor的日志输出 -->
<logger name="com.ybw.interceptor" level="debug" additivity="false"><appender-ref ref="SqlFile" />
</logger>
  • 将sql日志文件单独打印到 ${LOG_HOME:-d:/}logs/sql目录下。

解释

  • InfoLevelLogger 的作用:
    •  InfoLevelLogger 是一个自定义的 MyBatis 日志实现,目的是将 MyBatis 的日志级别从 DEBUG 改为 INFO。
    • 在 debug 方法中,logger.info(s) 是通过 LoggerFactory.getLogger(clazz) 创建的 Logger 实例,而 log.debug(s) 是通过 Lombok 的 @Slf4j 注解生成的 Logger 实例。
  •  logback.xml 的配置
    • 在 logback.xml 中配置了日志输出目录为 sql,这意味着只有符合该配置的日志才会输出到 sql 目录。
    • logger.info(s) 使用的是 LoggerFactory.getLogger(clazz),其日志输出路径由 clazz 决定。示例如下:
      [INFO ] 2025-04-18 17:11:37.917 [main] org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession
      [INFO ] 2025-04-18 17:11:37.927 [main] org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1fca53a7] was not registered for synchronization because synchronization is not active
      [INFO ] 2025-04-18 17:11:38.017 [main] com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
      [INFO ] 2025-04-18 17:11:38.480 [main] com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@23365142
      [INFO ] 2025-04-18 17:11:38.484 [main] com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
      [INFO ] 2025-04-18 17:11:38.498 [main] o.m.s.t.SpringManagedTransaction - JDBC Connection [HikariProxyConnection@1729753606 wrapping com.mysql.cj.jdbc.ConnectionImpl@23365142] will not be managed by Spring
      [INFO ] 2025-04-18 17:11:38.514 [main] c.ybw.mapper.UserMapper.updateById - ==>  Preparing: UPDATE user SET `no`=?, update_time=? WHERE id=?
      [INFO ] 2025-04-18 17:11:38.575 [main] c.ybw.mapper.UserMapper.updateById - ==> Parameters: 16(Integer), 2025-04-18T17:11:37.902300800(LocalDateTime), 1(Long)
      [INFO ] 2025-04-18 17:11:38.591 [main] c.ybw.mapper.UserMapper.updateById - <==    Updates: 1
      [INFO ] 2025-04-18 17:11:38.594 [main] org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1fca53a7]
    • log.debug(s) 使用的是 Lombok 的 @Slf4j 注解生成的 Logger,其日志输出路径由 InfoLevelLogger 的包路径(com.ybw.interceptor)决定。示例如下:
      [DEBUG] 2025-04-18 17:11:34.719 [main] com.ybw.interceptor.InfoLevelLogger - Logging initialized using 'class com.ybw.interceptor.InfoLevelLogger' adapter.
      [DEBUG] 2025-04-18 17:11:34.990 [main] com.ybw.interceptor.InfoLevelLogger - Get /10.2.5.21 network interface 
      [DEBUG] 2025-04-18 17:11:34.991 [main] com.ybw.interceptor.InfoLevelLogger - Get network interface info: name:wireless_32768 (Realtek RTL8852BE WiFi 6 802.11ax PCIe Adapter)
      [DEBUG] 2025-04-18 17:11:35.023 [main] com.ybw.interceptor.InfoLevelLogger - Initialization Sequence datacenterId:22 workerId:20
      [DEBUG] 2025-04-18 17:11:37.919 [main] com.ybw.interceptor.InfoLevelLogger - Creating a new SqlSession
      [DEBUG] 2025-04-18 17:11:37.928 [main] com.ybw.interceptor.InfoLevelLogger - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1fca53a7] was not registered for synchronization because synchronization is not active
      [DEBUG] 2025-04-18 17:11:38.498 [main] com.ybw.interceptor.InfoLevelLogger - JDBC Connection [HikariProxyConnection@1729753606 wrapping com.mysql.cj.jdbc.ConnectionImpl@23365142] will not be managed by Spring
      [DEBUG] 2025-04-18 17:11:38.514 [main] com.ybw.interceptor.InfoLevelLogger - ==>  Preparing: UPDATE user SET `no`=?, update_time=? WHERE id=?
      [DEBUG] 2025-04-18 17:11:38.575 [main] com.ybw.interceptor.InfoLevelLogger - ==> Parameters: 16(Integer), 2025-04-18T17:11:37.902300800(LocalDateTime), 1(Long)
      [DEBUG] 2025-04-18 17:11:38.592 [main] com.ybw.interceptor.InfoLevelLogger - <==    Updates: 1
      [DEBUG] 2025-04-18 17:11:38.594 [main] com.ybw.interceptor.InfoLevelLogger - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1fca53a7]
    • 从logger.info(s)、log.debug(s)打印的日志可以看出,内容虽然一样,但打印的类是不一样的。

3、源代码

share: 分享仓库 - Gitee.com

相关文章:

mybatis plus打印sql日志到指定目录

1、mybatis plus打印sql日志 参考文档&#xff1a;mybatis plus打印sql日志_mybatisplus日志打印-CSDN博客 2、修改 修改InfoLevelLogger Override public void debug(String s) {// 修改这里logger.info(s);log.debug(s); } 增加&#xff1a;log.debug(s); 修改logback.x…...

CUDAfy的使用

此文章是对一篇使用文档的翻译总结 文档地址 https://www.doczj.com/doc/0f2570173.html CUDAfy使用步骤​ 1. 环境准备​ 硬件要求​​&#xff1a;支持CUDA的NVIDIA显卡&#xff08;如GTX系列&#xff09;。​​软件安装​​&#xff1a; 安装最新版NVIDIA驱动。下载并安…...

DeepSeek 部署中的常见问题及解决方案

DeepSeek(深度求索)大模型部署过程中常见问题的系统性解决方案,涵盖环境配置、模型加载、性能优化、安全防护及企业级部署等核心场景,结合官方文档与社区实践提供可落地的操作指南: 一、环境配置与依赖问题 1. 操作系统与硬件兼容性 问题表现:部署失败提示驱动不兼容或…...

【AI提示词】儿童看护员

提示说明 儿童看护员旨在帮助用户构建一个既专业又富有爱心的儿童看护员角色&#xff0c;以满足儿童在成长过程中的各种需求。 提示词 # 角色 儿童看护员## 注意 1. 儿童看护员应具备亲和力和耐心&#xff0c;以确保与儿童的良好互动。 2. 专家设计应关注儿童的安全、健康和…...

深入解析 Python 中的装饰器 —— 从基础到实战

1. 装饰器基础 1.1 什么是装饰器&#xff1f; 装饰器本质上是一个 Python 函数&#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象。 1.2 语法糖&#xff1a; 符号 Python 提供了 符号作为装饰器的语法糖&#xff0c…...

学习海康VisionMaster之中线查找

一&#xff1a;进一步学习了 今天学习下VisionMaster中的中线查找&#xff0c;这个就是字面意思&#xff0c;输入两条直线&#xff0c;输出两条直线的中线 二&#xff1a;开始学习 1&#xff1a;什么是中线查找&#xff1f;今天这个比较简单&#xff0c;其实这个模块算是一个几…...

笔记整理五

STP生成树 stp生成树是用于解决二层环路问题的协议。 二层环路为有以下三种&#xff1a; 1.广播风暴 2.MAC地址的偏移&#xff08;每一次循环&#xff0c;都会导致交换机来回刷新MAC地址表记录&#xff09; 3.多帧复制 stp生成树&#xff1a;需要将原本的环型拓扑结构转换…...

js实现的前端水印

效果 var defaultConfig {content: [], // 水印内容数组fontSize: 14, // 字体大小(px)fontFamily: sans-serif, // 字体color: rgba(255, 255, 255,.3), // 字体颜色rotate: -20, // 旋转角度(度数)zIndex: 2147483647, // 层级globalAlpha: 0.5, // 透明度canvasWidth: 30…...

前端服务器部署报错记录

报错1&#xff1a;Refused to apply style from http://xxxxxxx.online/assets/index.DepkYCYv.css because its MIME type (text/plain) is not a supported stylesheet MIME type, and strict MIME checking is enabled. index-Dnq3oQAv.js:1 解释&#xff1a;浏览器期望加载…...

JAVA中多线程的经典案例

文章目录 一、线程安全的单例模式&#xff08;一&#xff09;饿汉模式&#xff08;二&#xff09;懒汉模式 二、阻塞队列&#xff08;一&#xff09;生产者消费者模型&#xff08;二&#xff09;阻塞队列&#xff08;三&#xff09;自定义阻塞队列 三、定时器&#xff08;一&am…...

国产三维CAD皇冠CAD(CrownCAD)在「轨道交通行业」建模教程:轨道列车

在轨道交通行业&#xff0c;复杂系统集成、大规模装配验证与跨地域协同设计始终是核心痛点。传统设计工具难以应对动辄百万级零部件的装配挑战&#xff0c;且数据孤岛、版本混乱、硬件成本高昂等问题长期制约行业数字化转型。皇冠CAD&#xff08;CrownCAD&#xff09;作为国产云…...

Linux 日常运维命令大全

Linux 作为一种开源操作系统&#xff0c;在服务器运维中扮演着重要角色。掌握常用的 Linux 命令对于运维人员而言至关重要。本文将整理一份 Linux 服务器运维常用命令大全&#xff0c;帮助你在日常工作中提高效率和准确性。 1. 基础命令 基础命令是Linux操作的起点&#xff0…...

安全测试报告模板

安全测试报告 一、项目概况 项目名称XX智慧医疗平台被测系统版本V2.3.1测试类型渗透测试漏洞扫描测试时间2024年2月15-20日测试标准OWASP TOP 10 2021 二、测试环境 生产环境镜像&#xff1a; - 服务器&#xff1a;CentOS 7.9 Tomcat 9 - 数据库&#xff1a;MySQL 8.0集群…...

树莓派超全系列教程文档--(31)config.txt常用选项介绍

config.txt常用选项介绍 常用选项常用显示选项hdmi_enable_4kp60 常用硬件配置选项camera_auto_detectdisplay_auto_detectdtoverlaydtparamarm_boostpower_force_3v3_pwm 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 常用选项 常用显示选项 …...

算法-堆+单调栈

堆 首先堆在我们的Java中我们的是一个优先队列类 PriorityQueue 然后我们要弄最大堆和最小堆 最大堆&#xff1a; PriorityQueue<Integer> pq new PriorityQueue<Integer>((a, b) -> b - a); 最小堆&#xff1a; PriorityQueue<Integer> pq new P…...

Charles破解 激活码 Java

第一步,下载charles Download a Free Trial of Charles • Charles Web Debugging Proxy 第二部,生成key,这里使用的是java代码 import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.Random;public class test {private static final int ROUNDS 12;p…...

线上蓝桥杯比赛环境配置

1.编译环境&#xff08;以下是JAVA示例&#xff09; Java软件开发编程环境 链接: https://pan.baidu.com/s/1JRNx0bkgHmPqQhANSFBNkQ 提取码: ftgw 下载对应的编译器和jdk以及对应的API文档 解压后把eclipse发送到桌面方便使用 2.录屏软件&#xff0c;我这边选择的是OBS St…...

民办生从零学C的第十一天:操作符

每日励志&#xff1a;我们可以随时的转身&#xff0c;但是决不能后退。 一.操作符的分类 算术操作符&#xff1a;、-、*、/、% 移位操作符&#xff1a;<<、>> 位操作符&#xff1a;&、|、^ 赋值操作符&#xff1a;、、-、*、/、%、<<、>>、&…...

疑难问题解决(2)

&#xff08;1&#xff09;&#xff1a;在k230开发板中&#xff0c;ubuntu操作系统中的文件夹中的k230_sdk文件夹与canmv_k230文件夹的区别&#xff0c;以及 /home/ubuntu/canmv_k230/src/rtsmart/rtsmart/userapps/07_driver_hello 与 /home/ubuntu/k230_sdk/src/big/rt-smart…...

第六章 进阶04 尊重

本周周会给大家讲的议题是&#xff1a;尊重。 用“尊重”给周报文件冠名&#xff0c;周会中打开这个文件&#xff0c;就可以在标题中醒目地看到&#xff0c;加深了大家的印象、勾起了大家的好奇心。坚持长期事项的同时&#xff0c;偶尔也灵光一现给团队管理加入一些小插曲&…...

Android 12.0 framework实现对系统语言切换的功能实现

1.前言 在12.0的系统rom定制化开发过程中,在定制某些接口的过程中,需要通过系统提供接口,然后实现对系统语言的切换 功能实现,接下来分析下系统中关于系统语言切换的相关功能 2.framework实现对系统语言切换的功能实现的核心类 frameworks/base/core/java/android/app/IA…...

Origin LabTalk

之前用惯了matplotlib绘图&#xff0c;出于科研需要部分图用origin来画&#xff0c;但是还是想着要结合python来处理数据更加的方便&#xff0c;经过一番捣鼓发现origin自带有labtalk,并且还带有python的环境,真可谓是NB的很。 若能由程序代劳&#xff0c;何必亲手&#xff1f;…...

基于VS Code 为核心平台的python语言智能体开发平台搭建

以下是基于 VS Code 为核心平台&#xff0c;整合 Node-RED、Gradio、Docker Desktop 的智能体可视化开发平台优化方案&#xff0c;聚焦工具链深度集成与开发效率提升&#xff1a; 一、核心架构设计 #mermaid-svg-f8l9kYPAlJ2TlpGF {font-family:"trebuchet ms",verd…...

Python 创意:AI 图像生成

一、基于 Stable Diffusion 的本地创意创作 Stable Diffusion 是开源图像生成模型的代表,通过 Python 结合diffusers库,可实现本地图像生成。 1. 环境搭建 首先,安装必要的库: pip install diffusers transformers torch若使用 GPU 加速,需安装对应版本的 CUDA 和 cuD…...

vue3 传参 传入变量名

背景&#xff1a; 需求是&#xff1a;在vue框架中&#xff0c;接口传参我们需要穿“变量名”&#xff0c;而不是字符串 通俗点说法是&#xff1a;在网络接口请求的时候&#xff0c;要传属性名 效果展示&#xff1a; vue2核心代码&#xff1a; this[_keyParam] vue3核心代码&…...

Skipped breakpoint at ... because of stepping in another thread问题分析

在Java多线程应用程序的调试过程中&#xff0c;开发者可能会遇到“Skipped breakpoint at … because of stepping in another thread”这样的提示。这通常是因为调试器在处理多线程操作时&#xff0c;忽略了某个断点。本文将详细分析这一问题的原因&#xff0c;并提供有效的解…...

MATLAB脚本实现了一个转子系统的参数扫描和分岔分析

% 参数扫描范围 clc; clear; close all;S_values 500:200:20000; % 转速范围% 定义系统参数 N 5; % 质量点数量 num_nodes N; % 节点数 num_dofs_per_node 4; % 每个节点的自由度数 num_elements num_nodes-1; % 单元数 total_dofs num_nodes * num_dofs_per_node; % 总自…...

基于Flask的AI工具聚合平台技术解析

基于Flask的AI工具聚合平台技术解析 一、项目架构设计 本系统采用经典的三层架构模式&#xff0c;通过Mermaid架构图可清晰看到数据流向&#xff1a; 用户请求通过浏览器发送至Flask服务器路由系统解析请求路径模板引擎动态渲染页面静态资源提供样式支持独立数据模块实现内容…...

AUTOSAR图解==>AUTOSAR_SWS_CryptoInterface

AUTOSAR 加密接口(Crypto Interface)详解 基于AUTOSAR标准4.4.0的加密接口规范详细分析与图解 目录 概述 1.1 加密接口的作用与位置 1.2 主要术语解释架构设计 2.1 加密接口架构 2.2 组件关系内部结构 3.1 类结构 3.2 配置项运行流程 4.1 加密请求处理流程 4.2 同步与异步处理…...

GCD算法的学习

GCD算法的学习 学习了前辈wzx15927662183的文章GCD算法精讲-CSDN博客 介绍 GCD通常用来求两个数的最大公约数 算法的核心&#xff1a;gcd(a,b) gcd(b,a % b) 证明的思路&#xff1a; 证明 gcd(a, b) gcd(b, a % b) 的思路&#xff1a; 设 a > b 1. 构造 a % b : 设 …...

完美解决浏览器不能复制的问题(比如赛氪网的中题库练习题)

仅供复制题库题目进行打印学习使用&#xff01; 最近想把赛氪网题库中的题目打印出来做练习&#xff0c;发现题库中的题目不能复制&#xff0c;不能在试卷上勾画标记太难受了&#xff0c;而且不能留作材料以后复习&#xff0c;故出此策。 而且CtrlP打印出的pdf会缺少题目。(我…...

Java 爬虫按关键字搜索淘宝商品:实现与优化

在电商领域&#xff0c;获取淘宝商品信息对于市场分析、价格监控和竞争情报等方面具有重要意义。Java 爬虫技术为我们提供了一种高效、自动化的方式来按关键字搜索淘宝商品。本文将详细介绍如何使用 Java 爬虫按关键字搜索淘宝商品&#xff0c;并提供完整的代码示例。 一、准备…...

build.gradle task copyJarToDesktop

build.gradle task copyJarToDesktop 构建完&#xff0c;拷贝jar包到指定文件夹AAA&#xff0c;例如&#xff1a;桌面&#xff0c;方便拉到宝塔发布 build.gradle plugins {id org.springframework.boot }jar {enabled false // 不生成 plain.jar }bootJar {archiveFileNa…...

Git合并分支的两种常用方式`git merge`和`git cherry-pick`

Git合并分支的两种常用方式git merge和git cherry-pick 写在前面1. git merge用途工作方式使用git命令方式合并使用idea工具方式合并 2. git cherry-pick用途工作方式使用git命令方式合并使用idea工具方式合并 3. 区别总结 写在前面 一般我们使用git合并分支常用的就是git mer…...

基于n8n的AI应用工作流原理与技术解析

基于n8n的AI应用工作流原理与技术解析 在AI技术深度融入企业数字化转型的今天&#xff0c;开源工作流自动化工具n8n凭借其灵活的架构和强大的集成能力&#xff0c;成为构建智能自动化流程的核心引擎。本文将从技术原理、AI融合机制、典型应用场景三个维度&#xff0c;解析n8n在…...

Day3-UFS深入学习路线

UFS 学习链接1&#xff1a;UPUI数据包格式 学习链接2&#xff1a;UPUI数据包详解 学习链接3&#xff1a;UFS电源及低功耗 一、基础准备阶段 1.理解存储技术背景 学习NAND Flash基本原理&#xff08;SLC/MLC/TLC、读写擦除操作、磨损均衡&#xff09;。对比其他存储协议&…...

广东2024信息安全管理与评估一阶段答案截图

2023-2024 学年广东省职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题一 模块一 网络平台搭建与设备安全防护 一、 比赛时间 本阶段比赛时间为 180 分钟。 二、 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一…...

8.Rust+Axum 数据库集成实战:从 ORM 选型到用户管理系统开发

摘要 深入探讨 RustAxum 数据库集成&#xff0c;包括 ORM 选型及实践&#xff0c;助力用户管理系统开发。 一、引言 在现代 Web 应用开发中&#xff0c;数据库集成是至关重要的一环。Rust 凭借其高性能、内存安全等特性&#xff0c;与 Axum 这个轻量级且高效的 Web 框架结合…...

题解:CF886E Maximum Element

正难则反&#xff0c;考虑长度为 i i i 的排列得到正确的结果的方案数。 设 d p i dp_i dpi​ 表示长度为 i i i 的排列直到循环完也没有提前 return 的方案数。考虑 i i i 所放置的位置&#xff0c;由于不会提前 return&#xff0c;也就说明该数字所在的位置为 [ i − k…...

OPC Client第3讲(wxwidgets):wxFormBuilder;基础框架;事件处理

wxwidgets开源桌面软件框架使用 - 哔哩哔哩 wxwidgets跨平台GUI框架使用入门详解_哔哩哔哩_bilibili 一、wxwidgets配置【见上一讲五、】 二、安装wxFormBuilder 1、wxFormBuilder介绍、安装 wxFormBuilder是一个开源的GUI设计工具&#xff0c;支持C、Python等语言&#…...

20250418项目接入scalar

scalar官网地址 scalar-dotnet文档地址 1. 引入nuget包 这里必须是2.1.* 以上 否则不支持多库 <PackageReference Include"Scalar.AspNetCore" Version"2.1.16" />2. 引入命名空间 using Scalar.AspNetCore;3. 使用scalar var documents new[] {…...

数控铣床自动上下料机械手控制装置设计

一、引言 在数控铣床加工过程中&#xff0c;实现自动上下料能够提高生产效率、降低劳动强度、减少人为因素对加工质量的影响。设计一款高效、可靠的数控铣床自动上下料机械手控制装置&#xff0c;是实现数控铣床自动化加工的关键。 二、控制装置设计要求 自动化程度&#xf…...

STM32F407的引脚说明

当笔记站 引脚说明在STM32F407数据手册中的48页到71页&#xff0c;下载地址&#xff1a; https://www.stmcu.com.cn/Designresource/detail/document/696193?auto_download1 以下是在图片转表格得到的东西 Pinouts and pin description …...

STM32单片机入门学习——第41节: [12-1] Unix时间戳

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难&#xff0c;但我还是想去做&#xff01; 本文写于&#xff1a;2025.04.18 STM32开发板学习——第41节: [12-1] Unix时间戳 前言开发板说明引用解答和科普一…...

使用Pydantic优雅处理几何数据结构 - 前端输入验证实践

使用Pydantic优雅处理几何数据结构 - 前端输入验证实践 一、应用场景解析 在视频分析类项目中&#xff0c;前端常需要传递几何坐标数据。例如智能安防系统中&#xff0c;需要接收&#xff1a; 视频流地址&#xff08;rtsp_video&#xff09;检测区域坐标点&#xff08;point…...

【Hot100】41. 缺失的第一个正数

目录 引言缺失的第一个正数初始理解问题方法一分析&#xff1a;排序后遍历方法二分析&#xff1a;辅助数组寻找满足条件的解法代码实现验证例子复杂度分析 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;算法专栏&#x1f4a5; 标题&#xff1a;【…...

FairMOT算法详解

FairMOT(Fairness in Detection and Re-Identification for Multi-Object Tracking)是一种基于联合学习(Joint Learning)的多目标跟踪(MOT)算法,由中科院自动化所团队提出。其核心思想是通过单阶段网络同时完成目标检测和重识别(Re-ID)特征提取,解决了传统两阶段方法…...

java线程池原理及使用和处理流程

实际测试使用如下&#xff1a; package com.study;import java.util.concurrent.*;/*** 线程池作用&#xff1a;* 1、线程的复用* 2、资源管理* 3、任务调度* --------------执行过程--------------* 第1-3个任务进来时&#xff0c;直接创建任务并执行* 第4-8个任务进来时&…...

奖学金排序问题

#include <bits/stdc.h> using namespace std;const int N 305; // 定义最大学生人数为305// 定义学生结构体&#xff0c;包含语文、数学、英语成绩、总分以及学生编号 struct node {int yuwen; // 语文成绩int mat_h; // 数学成绩int english; // 英语成绩i…...

useMemo + memo + useContext 性能优化实战:从无感重渲染到丝滑体验

在 Vue 中我们可能依赖 Vuex computed 进行状态共享和性能优化&#xff0c;而在 React 里呢&#xff1f;不需要用 Redux&#xff0c;靠 useContext、memo、useMemo 三剑客就能构建高性能组件通信方案&#xff01; &#x1f9e9; useContext 再回顾&#xff1a;状态共享不等于性…...