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

南大通用数据库-Gbase-8a-学习-42-定位与释放锁

目录

一、测试版本

二、模拟锁表场景

1、查看自动提交参数

2、关闭自动提交

3、测试表结构

4、测试数据

5、会话一更新数据不提交

6、会话二更新数据卡住

7、会话三查看连接信息

8、会话三查看锁信息

9、解决方法

10、会话一插入数据不提交

11、会话二更新报错

三、总结


一、测试版本

名称
CPUIntel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
操作系统CentOS Linux release 7.9.2009 (Core)
内存3G
逻辑核数2
Gbase8a版本8.6.2-R43

二、模拟锁表场景

打开三个会话。

1、查看自动提交参数

gbase> show variables like'%commit%';
+-----------------------------------------------------------+----------+
| Variable_name                                             | Value    |
+-----------------------------------------------------------+----------+
| _t_gcluster_commit_revert_flag_test                       | 1        |
| autocommit                                                | ON       |
| gbase_tcmalloc_aggressive_decommit_threadhold_load_factor | 0.900000 |
| gbase_tcmalloc_balanced_decommit_threadhold_load_factor   | 0.600000 |
| gcluster_kafka_batch_commit_dml_count                     | 100000   |
| gcluster_kafka_parallel_commit                            | 1        |
+-----------------------------------------------------------+----------+
6 rows in set (Elapsed: 00:00:00.00)

2、关闭自动提交

gbase> set autocommit = 0;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

前两个会话设置非自动提交。

3、测试表结构

gbase> desc czg.testtab;
+-------+---------------+------+-----+-------------------+-----------------------------+
| Field | Type          | Null | Key | Default           | Extra                       |
+-------+---------------+------+-----+-------------------+-----------------------------+
| a     | int(11)       | YES  |     | NULL              |                             |
| b     | double        | YES  |     | NULL              |                             |
| c     | varchar(100)  | YES  | MUL | NULL              |                             |
| d     | text          | YES  |     | NULL              |                             |
| e     | blob          | YES  |     | NULL              |                             |
| f     | longblob      | YES  |     | NULL              |                             |
| g     | date          | YES  |     | NULL              |                             |
| h     | timestamp     | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| i     | decimal(10,2) | YES  |     | NULL              |                             |
+-------+---------------+------+-----+-------------------+-----------------------------+
9 rows in set (Elapsed: 00:00:00.05)

4、测试数据

gbase> select * from czg.testtab limit 10;
+------+------+------+--------------------+---------------------+--------------------------+------------+---------------------+------+
| a    | b    | c    | d                  | e                   | f                        | g          | h                   | i    |
+------+------+------+--------------------+---------------------+--------------------------+------------+---------------------+------+
|    1 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 |
|    1 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 |
|    1 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 |
|    1 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 |
|    1 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.00 |
|    2 |  1.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 2.00 |
|    2 |  4.1 | czg  | 快乐的小天使       | qwertasdsdfzxczxxv  | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 |
|    2 |  4.1 | czg  | 快乐的小天使       | qwertasdsdfz\xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 |
|    2 |  4.1 | czg  | 快乐的小天使       | qwertasdsdfz.xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 |
|    2 |  4.1 | czg  | 快乐的小天使       | qwertasdsdfz.xczxxv | gregergjsfishfuieehfuiew | 1995-09-18 | 2022-08-03 09:24:00 | 1.10 |
+------+------+------+--------------------+---------------------+--------------------------+------------+---------------------+------+
10 rows in set (Elapsed: 00:00:02.51)

5、会话一更新数据不提交

gbase> update czg.testtab set d = 'JJLGG' where a = 2;Query OK, 1310720 rows affected (Elapsed: 03:28:21.03)
Rows matched: 1310720  Changed: 1310720  Warnings: 0

6、会话二更新数据卡住

gbase> update czg.testtab set d = 'HappySunshine' where a = 1;

我们更新的是不同的行,却锁住了,说明Gbase8a不支持行锁,这里加的是表锁。

7、会话三查看连接信息

[gbase@czg2 ~]$ gccli -e "show detail processlist;"
+-----+-------+-----------------+----------------------+--------------------+---------+--------+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------+--------------------------------------------------------+
| Id  | Tid   | User            | Host                 | db                 | Command | Time   | State                       | Lock                                                                                                                                                | Wait                                            | Info                                                   |
+-----+-------+-----------------+----------------------+--------------------+---------+--------+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------+--------------------------------------------------------+
|   1 |  5752 | event_scheduler | localhost            | NULL               | Daemon  |  80337 | Waiting for next activation | NULL                                                                                                                                                | NULL                                            | NULL                                                   |
| 276 | 78263 | root            | localhost            | NULL               | Sleep   | 172223 |                             | NULL                                                                                                                                                | NULL                                            | NULL                                                   |
| 277 | 78372 | root            | 192.168.142.12:35329 | zxj                | Sleep   | 172223 |                             | NULL                                                                                                                                                | NULL                                            | NULL                                                   |
| 585 | 94012 | root            | localhost            | information_schema | Query   |    205 | checking permissions        | czg                                                                                                                                                 | czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739 | update czg.testtab set d = 'HappySunshine' where a = 1 |
| 589 | 95886 | root            | localhost            | NULL               | Sleep   |  19292 |                             | czg;czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739;czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA;czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3 | NULL                                            | NULL                                                   |
| 642 |  2049 | root            | localhost            | NULL               | Query   |      0 | NULL                        | NULL                                                                                                                                                | NULL                                            | show detail processlist                                |
+-----+-------+-----------------+----------------------+--------------------+---------+--------+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------+--------------------------------------------------------+

这些字段的含义为:

字段描述
Id连接编号。
Tid线程号。
User登录数据库用户。
Host连接源端的ip和端口。
db连接的数据库。
Command当前执行的命令。
Time上面命令执行的时间。(单位:秒)
StateSQL的运行状态。
Lock持有的锁。
Wait等待的锁。
Info执行的SQL语句。

我们主要看589和585。

585的State:checking permissions,表示在检查权限。Wait:czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739,表示等待锁czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739。

589的Lock:czg;czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739;czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA;czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3,表示持有锁:

(1)czg

(2)czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739(和585等待的锁一样)

(3)czg.testtab580D5F90-B287-4199-B057-E6FBD44B5BFA

(4)czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3

说明589一直占有锁,未释放,导致585一直等待。再看589的Command:Sleep,表示为空闲状态。那我们可以断定是589没有执行提交操作,导致的锁等待。如果589是Query,那就有可能是执行慢,导致其他会话卡住。具体情况具体分析吧。

8、会话三查看锁信息

[gbase@czg2 ~]$ gcadmin showlock+========================================================================================================================+|                                                     GCLUSTER LOCK                                                      |+========================================================================================================================++-----------------------------------------------+--------------+------------------------------+--------------+------+----+|                   Lock name                   |    owner     |           content            | create time  |orphan|type|+-----------------------------------------------+--------------+------------------------------+--------------+------+----+|                      czg                      |192.168.142.12|LOCK_Reserved: 589(LWP:95886) |20231109105742|FALSE | S  |+-----------------------------------------------+--------------+------------------------------+--------------+------+----+|                      czg                      |192.168.142.12|LOCK_Reserved: 585(LWP:94012) |20231109161549|FALSE | S  |+-----------------------------------------------+--------------+------------------------------+--------------+------+----+|czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739|192.168.142.12|LOCK_Rebalance: 589(LWP:95886)|20231109142557|FALSE | E  |+-----------------------------------------------+--------------+------------------------------+--------------+------+----+|czg.testtab580d5f90-b287-4199-b057-e6fbd44b5bfa|192.168.142.12|  LOCK_DMLEX: 589(LWP:95886)  |20231109142557|FALSE | E  |+-----------------------------------------------+--------------+------------------------------+--------------+------+----+|czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3|192.168.142.12|  LOCK_DMLEX: 589(LWP:95886)  |20231109142557|FALSE | E  |+-----------------------------------------------+--------------+------------------------------+--------------+------+----+Total : 5
参数描述
Lock name锁的名称。
owner持有锁的节点IP。
content第一个数字是Id连接编号。
第二个数字是线程号。
create time锁创建日期。
orphan是否为孤儿锁。
typeS:共享锁。E:排他锁。

9、解决方法

(1)方法一:589对应的会话进行提交。

(2)方法二:开一个新会话kill 589。

(3)方法三:通过官方的python gcware接口去释放。

查看锁demo

#encoding:utf-8
import gcwareSUCCESS_FLAG = 1
FAIL_FLAG    = 0def ReleaseLock(TableName, LockId):if gcware.unlocktableforce(TableName,LockId) != 0:print("ReleaseLock : OK, TableName : %s, LockId : %s"%(TableName,LockId))return SUCCESS_FLAGelse:print("ReleaseLock : Fail, TableName : %s, LockId : %s"%(TableName,LockId))return FAIL_FLAGif __name__ == '__main__':for i in gcware.getlocks():for j in i:print("%-20s : %s"%(j,i[j]))print("=========================")

TableName就是下面的name,LockId就是下面的lockid。大家可以自己调用ReleaseLock尝试释放锁,建议大家不要用gcware接口。

运行效果

create time          : 20231109105742
name                 : czg
lockid               : 9114802754034860036
orphan               : FALSE
content              : LOCK_Reserved: 589(LWP:95886)
owner                : 192.168.142.12
type                 : SHARE
=========================
create time          : 20231109161549
name                 : czg
lockid               : 171802565900500995
orphan               : FALSE
content              : LOCK_Reserved: 585(LWP:94012)
owner                : 192.168.142.12
type                 : SHARE
=========================
create time          : 20231109142557
name                 : czg.testtab02076d53-3c94-4aa4-b020-b9df0c802739
lockid               : 8869015163097841664
orphan               : FALSE
content              : LOCK_Rebalance: 589(LWP:95886)
owner                : 192.168.142.12
type                 : EXCLUSIVE
=========================
create time          : 20231109142557
name                 : czg.testtab580d5f90-b287-4199-b057-e6fbd44b5bfa
lockid               : 2937847747467804673
orphan               : FALSE
content              : LOCK_DMLEX: 589(LWP:95886)
owner                : 192.168.142.12
type                 : EXCLUSIVE
=========================
create time          : 20231109142557
name                 : czg.testtab6ef6f8a9-87f0-4d6c-8043-899367d02df3
lockid               : 6284283086788100098
orphan               : FALSE
content              : LOCK_DMLEX: 589(LWP:95886)
owner                : 192.168.142.12
type                 : EXCLUSIVE
=========================

10、会话一插入数据不提交

gbase> insert into czg.testtab values(1,1.1,'asdasd','zxj','dfd','asd','1995-09-18','2023-08-03 09:24:00',1.00);
Query OK, 1 row affected (Elapsed: 00:00:00.14)

11、会话二更新报错

gbase> update czg.testtab set d = 'JJLGG' where a = 2;
ERROR 1727 (HY000): try to lock in gcluster failed: (GBA-02LO-0002) Can't lock file(already exists).

三、总结

序号描述
1Gbase8a锁支持粒度为表级。
2并发更新或删除同一张表时,其中一个会话执行较慢,导致其他会话等待。
3会话一更新或删除A表,会话二插入A表,无论会话一二的执行顺序,都会提示报错:ERROR 1727 (HY000): try to lock in gcluster failed: (GBA-02LO-0002) Can't lock file(already exists).。

相关文章:

南大通用数据库-Gbase-8a-学习-42-定位与释放锁

目录 一、测试版本 二、模拟锁表场景 1、查看自动提交参数 2、关闭自动提交 3、测试表结构 4、测试数据 5、会话一更新数据不提交 6、会话二更新数据卡住 7、会话三查看连接信息 8、会话三查看锁信息 9、解决方法 10、会话一插入数据不提交 11、会话二更新报错 三…...

css绘制常见的一些图形

以下是在CSS中绘制常见图形的示例代码: 线条: .line {width: 100px;height: 1px;background-color: black; }箭头: .arrow {width: 0;height: 0;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right:…...

【网络协议】

网络协议 1 网络通讯1.1 防火墙1.2 子网掩码1.3 网关1.4 2 SSH2.1 SSH2.2 SSH12.3 SSH2 3 Telnet4 Telnet/SSL5 NFS6 TFTP7 FTP8 SFTP9 HTTP10 HTTPS11 NAT12 加密 1 网络通讯 1.1 防火墙 所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法&…...

如何在JVS低代码表单配置中实现数据的高效管理?

在数字化时代,表单已经成为企业、机构和个人收集、整理、分析数据的重要工具。然而,随着数据复杂性的增长,传统的单一表单往往难以满足需求。JVS低代码表单引擎中子表格允许在主表单中嵌套另一个子表数据,使得数据的收集和组织更加…...

【Python大数据笔记_day04_Hadoop】

分布式和集群 分布式:多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务) 集群:多台服务器联合起来独立做相同的任务(多个服务器分担客户发来的请求) 注意:集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量…...

Android超简单的显示网络图片方法

Android显示网络图片的方法如下&#xff1a; 1、首先&#xff0c;需要在AndroidManifest.xml文件中添加网络权限&#xff1a; <uses-permission android:name"android.permission.INTERNET" /> 2、在布局文件中添加ImageView控件&#xff1a; <ImageVie…...

基于自然语言处理的结构化数据库问答机器人系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库&#xff0c;就是人们总结出的一些历史知识的集合&#xff0c;存储、索引以后&#xff0c;可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具&#xff0c;使用…...

JVM Native内存泄露的排查分析(64M 问题)

我们有一个线上的项目&#xff0c;刚启动完就占用了使用 top 命令查看 RES 占用了超过 1.5G&#xff0c;这明显不合理&#xff0c;于是进行了一些分析找到了根本的原因&#xff0c;下面是完整的分析过程&#xff0c;希望对你有所帮助。 会涉及到下面这些内容 Linux 经典的 64M…...

智能网联汽车基础软件信息安全需求分析

目录 1.安全启动 2.安全升级 3.安全存储 4.安全通信 5.安全调试 6.安全诊断 7.小结 1.安全启动 对于MCU&#xff0c;安全启动主要是以安全岛BootROM为信任根&#xff0c;在MCU启动后&#xff0c;用户程序运行前&#xff0c;硬件加密模块采用逐级校验、并行校验或者混合校…...

《QT从基础到进阶·十八》QT中的各种鼠标事件QEvent

1、界面标题栏事件&#xff1a; NonClientAreaMouseButtonPress 标题栏点击事件 NonClientAreaMouseButtonRelease 标题栏释放事件 bool CustomPopDialog::event(QEvent* event) {switch (event->type()){case QEvent::MouseButtonRelease://Event of mouse releasing wind…...

CSDN中调整图片和文本样式

1.调整图片比例 插入图片后&#xff0c;觉得图片比例不协调&#xff0c;想改小点。只需要在文件后缀加个参数即可&#xff1a;?pic_center 60x。 NOTE&#xff1a;等号左边一定要加个空格&#xff0c;否则格式不生效 2.修改字体颜色 如上 NOTE&#xff1a;等号左边一定要…...

社区团购商品数据抓取

爬虫程序的实现需要使用到C#编程语言以及相关爬虫框架&#xff0c;如Scrapy、WebScraper等。以下是一个简单的示例&#xff0c;展示了如何使用C#爬取网站上的商品数据&#xff1a; using System; using System.Net; using System.IO; using HtmlAgilityPack;class Program {st…...

Nginx用做sip代理

https://www.jianshu.com/p/14d134cbf8d3?tdsourcetags_pcqq_aiomsg 看了这篇文章的方案一&#xff0c;我专门试了试&#xff0c;记录如下&#xff1a; 测试环境为&#xff1a; fs1&#xff08;5080 --- nginx --- fs2&#xff08;5060&#xff09; 局域网同一个网段&…...

C# set的一些使用方法

在C#应用中&#xff0c;使用set监控值的改变触发事件是一种非常常见的编程模式。 比如下面一些应用。 1、属性更改通知&#xff1a;当某个属性的值发生变化时&#xff0c;可以使用set监控属性的改变&#xff0c;并触发一个事件来通知其他部分代码。这在MVVM&#xff08;Model…...

机器学习——回归

目录 一、线性回归 1、回归的概念&#xff08;Regression、Prediction&#xff09; 2、符号约定 3、算法流程 4、最小二乘法&#xff08;LSM&#xff09; 二、梯度下降 梯度下降的三种形式 1、批量梯度下降&#xff08;Batch Gradient Descent,BGD&#xff09;&#xff…...

JAVA代码视频转GIF(亲测有效)

1.说明 本次使用的是JAVA代码视频转GIF&#xff0c;maven如下&#xff1a; <dependency><groupId>ws.schild</groupId><artifactId>jave-nativebin-win64</artifactId><version>3.2.0</version></dependency><dependency&…...

挑战100天 AI In LeetCode Day03(热题+面试经典150题)

挑战100天 AI In LeetCode Day03&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-52.1 题目2.2 题解 三、面试经典 150 题-53.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&am…...

【手写模拟Spring底层原理】

文章目录 模拟Spring底层详解1、结合配置类&#xff0c;扫描类资源1.1、创建需要扫描的配置类AppConfig&#xff0c;如下&#xff1a;1.2、创建Spring容器对象LyfApplicationContext&#xff0c;如下1.3、Spring容器对象LyfApplicationContext扫描资源 2、结合上一步的扫描&…...

代码随想录训练营Day1:二分查找与移除元素

本专栏内容为&#xff1a;代码随想录训练营学习专栏&#xff0c;用于记录训练营的学习经验分享与总结。 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;二分查找与移除元素 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a…...

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测

回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测 目录 回归预测 | Matlab实现PCA-PLS主成分降维结合偏最小二乘回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现PCA-PLS主成分降维结合偏小二乘回归预测&#xff08;完整源码和数据) 1.输…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...