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

TDengine函数大全-字符串函数

以下内容来自 TDengine 官方文档 及
GitHub 内容 。

以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

1.数学函数
2.字符串函数
3.转换函数
4.时间和日期函数
5.聚合函数
6.选择函数
7.时序数据库特有函数
8.系统函数

字符串函数

    • TDengine函数大全
        • CHAR_LENGTH
        • CONCAT
        • CONCAT_WS
        • LENGTH
        • LOWER
        • LTRIM
        • RTRIM
        • SUBSTR
        • UPPER

CHAR_LENGTH

CHAR_LENGTH(expr)

功能说明:以字符计数的字符串长度。

返回结果类型:BIGINT。

适用数据类型:VARCHAR(BINARY), NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:
写入测试数据

> create table t2(ts timestamp,v1 nchar(100),v2 binary(100));
> insert into t2 values(now,'1234567890','1234567890');
> insert into t2 values(now,'abcdefghijklmnopq','abcdefghijklmnopq');
> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |
> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,char_length(v1),char_length(v2) from t2;ts            |    char_length(v1)    |    char_length(v2)    |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |> select ts,char_length(v1),char_length(v2) from (select * from t2);ts            |    char_length(v1)    |    char_length(v2)    |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |> select char_length('1234567890')  from t2 limit 1;char_length('1234567890') |
============================10 |

CONCAT

CONCAT(expr1, expr2 [, expr] ... )

功能说明:字符串连接函数。

返回结果类型:如果所有参数均为 VARCHAR 类型,则结果类型为 VARCHAR。如果参数包含NCHAR类型,则结果类型为NCHAR。如果参数包含NULL值,则输出值为NULL。

适用数据类型:VARCHAR, NCHAR。 该函数最小参数个数为2个,最大参数个数为8个。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,concat(v1,v2) from t2;ts            |         concat(v1,v2)          |
===========================================================2023-08-30 16:50:51.997 | 12345678901234567890           |2023-08-30 16:51:13.694 | abcdefghijklmnopqabcdefghij... |> select ts,char_length(concat(v1,v2)) from t2;ts            | char_length(concat(v1,v2)) |
=======================================================2023-08-30 16:50:51.997 |                         20 |2023-08-30 16:51:13.694 |                         34 |> select ts,concat(v1,v1,v2,v2) from t2;ts            |      concat(v1,v1,v2,v2)       |
===========================================================2023-08-30 16:50:51.997 | 123456789012345678901234567... |2023-08-30 16:51:13.694 | abcdefghijklmnopqabcdefghij... |> select ts,char_length(concat(v1,v1,v2,v2)) from t2;ts            | char_length(concat(v1,v1,v2,v2)) |
=============================================================2023-08-30 16:50:51.997 |                               40 |2023-08-30 16:51:13.694 |                               68 |> select concat('CONCAT ','funcation ','test!') from t2 limit 1;concat('CONCAT ','funcation ','test!') |
=========================================CONCAT funcation test!                 |> select char_length(concat('CONCAT ','funcation ','test!')) from t2 limit 1;char_length(concat('CONCAT ','funcation ','test!')) |
======================================================22 |
>  select concat('a','b','c','d','e','f','g','h') from t2 limit 1;concat('a','b','c','d','e','f','g','h') |
==========================================abcdefgh                                |> select concat('a','b','c','d','e','f','g','h','i') from t2 limit 1;
DB error: Invalid number of parameters : concat (0.000437s)> select concat('a') from t2 limit 1;
DB error: Invalid number of parameters : concat (0.000223s)                                                  

CONCAT_WS

CONCAT_WS(separator_expr, expr1, expr2 [, expr] ...)

功能说明:带分隔符的字符串连接函数。

返回结果类型:如果所有参数均为VARCHAR类型,则结果类型为VARCHAR。如果参数包含NCHAR类型,则结果类型为NCHAR。如果参数包含NULL值,则输出值为NULL。

适用数据类型:VARCHAR, NCHAR。 该函数最小参数个数为3个,最大参数个数为9个。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |               v1               |               v2               |
============================================================================================2023-08-30 16:50:51.997 | 1234567890                     | 1234567890                     |2023-08-30 16:51:13.694 | abcdefghijklmnopq              | abcdefghijklmnopq              |> select ts,concat_ws(',',v1,v2) from t2;ts            |      concat_ws(',',v1,v2)      |
===========================================================2023-08-30 16:50:51.997 | 1234567890,1234567890          |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghi... |> select ts,concat_ws(',',v1,v2,v1,v2) from t2;ts            |   concat_ws(',',v1,v2,v1,v2)   |
===========================================================2023-08-30 16:50:51.997 | 1234567890,1234567890,12345... |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghi... |> set max_binary_display_width 60;
> select ts,concat_ws(',',v1,v2,v1,v2) from t2;ts            |                  concat_ws(',',v1,v2,v1,v2)                  |
=========================================================================================2023-08-30 16:50:51.997 | 1234567890,1234567890,1234567890,1234567890                  |2023-08-30 16:51:13.694 | abcdefghijklmnopq,abcdefghijklmnopq,abcdefghijklmnopq,abc... |> select concat_ws(' ','a','b','c','d','e','f','g','h') from t2 limit 1;concat_ws(' ','a','b','c','d','e','f','g','h') |
=================================================a b c d e f g h                                |

LENGTH

LENGTH(expr)

功能说明:以字节计数的字符串长度。

返回结果类型:BIGINT。

适用数据类型:输入参数是 VARCHAR 类型或者 NCHAR 类型的字符串或者列。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> desc t2;field                   |          type          |   length    |    note    |
===============================================================================================ts                                       | TIMESTAMP              |           8 |            |v1                                       | NCHAR                  |         100 |            |v2                                       | VARCHAR                |         100 |            |> select ts,v1 from t2;ts            |                    v1                    |
=====================================================================2023-08-30 16:50:51.997 | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        |> select ts,char_length(v1),length(v1) from t2;ts            |    char_length(v1)    |      length(v1)       |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    40 |2023-08-30 16:51:13.694 |                    17 |                    68 |> select ts,v2 from t2;ts            |                    v2                    |
=====================================================================2023-08-30 16:50:51.997 | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        |> select ts,char_length(v2),length(v2) from t2;ts            |    char_length(v2)    |      length(v2)       |
==========================================================================2023-08-30 16:50:51.997 |                    10 |                    10 |2023-08-30 16:51:13.694 |                    17 |                    17 |
类型Bytes说明
BINARY自定义记录单字节字符串,建议只用于处理 ASCII 可见字符,中文等多字节字符需使用 NCHAR
NCHAR自定义记录包含多字节字符在内的字符串,如中文字符。每个 NCHAR 字符占用 4 字节的存储空间。

LOWER

LOWER(expr)

功能说明:将字符串参数值转换为全小写字母。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-30 16:50:51.997 | 1234567890                               | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        | abcdefghijklmnopq                        |2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |> select ts,lower(v1),lower(v2) from t2;ts            |                lower(v1)                 |                lower(v2)                 |
================================================================================================================2023-08-30 16:50:51.997 | 1234567890                               | 1234567890                               |2023-08-30 16:51:13.694 | abcdefghijklmnopq                        | abcdefghijklmnopq                        |2023-08-31 08:32:41.830 | abcdefgh                                 | ijklmno                                  |> select lower('ABCDEFGHIJKLMNO') from t2 limit 1;lower('ABCDEFGHIJKLMNO') |
===========================abcdefghijklmno          |

LTRIM

LTRIM(expr)

功能说明:返回清除左侧开头空格后的字符串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> insert into t2 values(now,' abc def gh','ABC def GH ');
> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               |> select ts,ltrim(v1),ltrim(v2) from t2;ts            |                ltrim(v1)                 |                ltrim(v2)                 |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 | abc def gh                               | ABC def GH                               |> select concat('|',ltrim(' abcdef '),'|') from t2 limit 1;concat('|',ltrim(' abcdef '),'|') |
====================================|abcdef |                         |

RTRIM

RTRIM(expr)

功能说明:返回清除右侧结尾空格后的字符串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例

> insert into t2 values(now,' abc def gh','ABC def GH ');
> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               |> select ts,rtrim(v1),rtrim(v2) from t2;ts            |                rtrim(v1)                 |                rtrim(v2)                 |
================================================================================================================2023-08-31 08:32:41.830 | ABCDEFGH                                 | IJKLMNO                                  |2023-08-31 08:35:45.209 | abc def gh                               | ABC DEF                                  |2023-08-31 08:40:33.666 |  abc def gh                              | ABC def GH                               | > select concat('|',rtrim(' abcdef '),'|') from t2 limit 1;concat('|',rtrim(' abcdef '),'|') |
====================================| abcdef|                         |

SUBSTR

SUBSTR(expr, pos [,len])

功能说明:从源字符串 str 中的指定位置 pos 开始取一个长度为 len 的子串并返回。如果输入参数 len 被忽略,返回的子串包含从 pos 开始的整个字串。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。输入参数 pos 可以为正数,也可以为负数。如果 pos 是正数,表示开始位置从字符串开头正数计算。如果 pos 为负数,表示开始位置从字符串结尾倒数计算。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例

> desc t2;field                   |          type          |   length    |    note    |
===============================================================================================ts                                       | TIMESTAMP              |           8 |            |v1                                       | NCHAR                  |         100 |            |v2                                       | VARCHAR                |         100 |            |> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:49:15.674 | a1234567890                              | a1234567890                              |> select ts,substr(v1,2),substr(v1,2,2) from t2;ts            |               substr(v1,2)               |              substr(v1,2,2)              |
================================================================================================================2023-08-31 08:49:15.674 | 1234567890                               | 12                                       |> select ts,substr(v1,2),substr(v1,2,2) from (select * from t2);ts            |               substr(v1,2)               |              substr(v1,2,2)              |
================================================================================================================2023-08-31 08:49:15.674 | 1234567890                               | 12                                       |> select substr('asdfghjkl',3,1) from t2 limit 1;substr('asdfghjkl',3,1) |
==========================d                       |

UPPER

UPPER(expr)

功能说明:将字符串参数值转换为全大写字母。

返回结果类型:与输入字段的原始类型相同。

适用数据类型:VARCHAR, NCHAR。

嵌套子查询支持:适用于内层查询和外层查询。

适用于: 表和超级表。

示例:

> select * from t2;ts            |                    v1                    |                    v2                    |
================================================================================================================2023-08-31 08:49:15.674 | a1234567890                              | a1234567890                              |2023-08-31 08:52:41.118 | abcdef                                   | Ghijk                                    |> select ts,upper(v1),upper(v2) from t2;ts            |                upper(v1)                 |                upper(v2)                 |
================================================================================================================2023-08-31 08:49:15.674 | A1234567890                              | A1234567890                              |2023-08-31 08:52:41.118 | ABCDEF                                   | GHIJK                                    |> select ts,upper(v1),upper(v2) from (select * from t2);ts            |                upper(v1)                 |                upper(v2)                 |
================================================================================================================2023-08-31 08:49:15.674 | A1234567890                              | A1234567890                              |2023-08-31 08:52:41.118 | ABCDEF                                   | GHIJK                                    |> select upper('abcDEFghi') from t2 limit 1;upper('abcDEFghi') |
=====================ABCDEFGHI          |

相关文章:

TDengine函数大全-字符串函数

以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 字符串函数 TDengine函数大全CHAR_LENGTHCONCATCONCA…...

part-02 C++知识总结(类型转换)

一.C常用的类型转换函数 在C中,有几种自带的类型转换函数可以用于不同类型之间的转换。以下是其中一些常用的自带类型转换函数: 1.隐式转换(Implicit Conversion) 数字类型之间的隐式转换,例如将int转换为float、do…...

stable diffusion实践操作-图生图

本文专门开一节写图生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 正文...

Jtti:Ubuntu18.04如何修改远程ssh端口号

要在Ubuntu 18.04上修改SSH的远程端口号,您需要编辑SSH服务器配置文件并指定新的端口号。以下是具体的步骤: 以root或具有sudo权限的用户登录到您的Ubuntu服务器。 备份SSH配置文件(可选): 在进行任何更改之前&…...

微软表示Visual Studio的IDE即日起开启“退休”倒计时

据了解,日前有消息透露称,适用于 Mac平台的Visual Studio集成开发环境(IDE)于8月31日启动“退休”进程。 而这意味着Visual Studio for Mac 17.6将继续支持12个月,一直到2024年8月31日。    微软表示后续不再为Visual Studio for Mac开发…...

好马配好鞍:Linux Kernel 4.12 正式发布

Linus Torvalds 在内核邮件列表上宣布释出 Linux 4.12,Linux 4.12 的主要特性包括: BFQ 和 Kyber block I/O 调度器,livepatch 改用混合一致性模型,信任的执行环境框架,epoll 加入 busy poll 支持等等,其它…...

element——switch接口成功后赋值打开开关

应用场景 基本用法使用v-model双向绑定值,进行开关控制 例子1:需求: **点击switch,出弹窗,点击弹窗保存按钮调接口成功后再赋值(row.orderButtonValue“1”)打开switch开的状态变颜色。 在vue 中使用 :va…...

WPF Border设置渐变色

背景色渐变 <Border> <Border.Resources> <Style TargetType"Border"> <Setter Property"Background"> …...

SAP_ABAP_OLE_EXCEL批导案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OLE_EXCEL批导 1.1 下载按钮 1.2 选择EXCEL上传&#xff0c;解析EXCLE数据&#xff0c; Call屏幕。 1.3 实现效果 1.4…...

MySQL以及版本介绍

一、MySQL的介绍 MySQL数据库管理系统由瑞典的DataKonsultAB公司研发&#xff0c;该公司被Sun公司收购&#xff0c;现在Sun公司又被Oracle公司收购&#xff0c;因此MySQL目前属于 Oracle 旗下产品。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用…...

stm32 iap sd卡升级

参考&#xff1a;STM32F4 IAP 跳转 APP问题_stm32程序跳转_古城码农的博客-CSDN博客 app程序改两个位置 1.程序首地址&#xff1a; 2.改中断向量表位移&#xff0c;偏移量和上面一样就可以 然后编译成bin文件就可以了...

D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐

文章目录 2815.数组中的最大数对和思路完整版 2816.翻倍以链表形式表示的数字&#xff08;先反转&#xff0c;再处理进位&#xff09;思路完整版 补充&#xff1a;206.反转链表&#xff08;双指针法&#xff09;完整版 2817.限制条件下元素之间的最小绝对差&#xff08;cpp不知…...

java八股文面试[数据库]——索引的基本原理、设计原则

索引的设计原则 索引覆盖是什么&#xff1a; 索引&#xff08;在MySQL中也叫做“键&#xff08;key&#xff09;”&#xff09; 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时&#xff0c;索引…...

2023年京东方便食品行业数据分析(京东数据报告)

​疫情中方便食品的销售一度火爆&#xff0c;但随着当前消费场景的开放&#xff0c;方便食品销售又恢复常态并开始下滑。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年7月份&#xff0c;京东平台方便食品的销量为800万&#xff0c;环比降低约23%&#xff0c;同比降…...

无涯教程-Android - Style Demo Example函数

下面的示例演示如何将样式用于单个元素。让我们开始按照以下步骤创建一个简单的Android应用程序- 步骤说明 1 您将使用Android Studio IDE创建一个Android应用程序,并在 com.example.saira_000.myapplication 包下将其命名为 myapplication ,如中所述您好世界Example一章。 2 …...

【算法训练-字符串 二】最长回文子串

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【最长回文子串】&#xff0c;使用【字符串】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为…...

结合OB Cloud区别于MySQL的4大特性,规划降本方案

任何一家企业想要获得持续性的发展与盈利&#xff0c;“降本增效”都是难以绕开的命题。但是“一刀切”的降本影响往往不太可控&#xff0c;成本的快速收缩往往会给业务带来低效运营和增长缓慢的风险。所以我们所说的降本&#xff0c;是指在成本降低的同时&#xff0c;效率不降…...

题目有点太简单了,不知道怎么选了

有个公司给了下面一个题目&#xff0c;看了下太简单了&#xff0c;都怕选错了。 后来拿着程序跑了下&#xff0c;就是这个意思嘛。 结论 程序跑出来的结果就是对输入的列表进行倒序排列。 public void testGetPut() throws Exception {List<Integer> numbers List.of(…...

Bug:mac上运行go run main.go 报错,fork/exec /var/fold/T/go-build269/b001/ex

Bug&#xff1a;mac上运行go run main.go 报错&#xff0c;fork/exec /var/fold/T/go-build269/b001/ex 今天通过goland执行go run main.go运行我本地编写好的go代码时&#xff0c;发现报错fork/exec / xxx 解决办法 方法一&#xff1a; 因为当前go的build环境不对&#xff0c…...

CSRF与XSS结合利用

文章目录 修改cms网站后台管理员密码成功登录总结 修改cms网站后台管理员密码 CSRF和XSS结合的JS代码&#xff1a; <script> xmlhttp new XMLHttpRequest(); xmlhttp.open("post","http://10.4.7.130/cms/admin/user.action.php",false); xmlhttp…...

告别重复劳动:用快马ai生成高效openclaw脚本提升安卓测试效率

告别重复劳动&#xff1a;用快马AI生成高效OpenClaw脚本提升安卓测试效率 在安卓自动化测试中&#xff0c;编写重复性的设备操作脚本往往是最耗时耗力的环节。每次测试新版本&#xff0c;我们都需要重复编写类似的点击、滑动、输入等操作代码&#xff0c;不仅效率低下&#xf…...

别再死磕公式了!用Python+SymPy从零推导6轴机械臂的DH参数与正逆解(附完整代码)

用PythonSymPy自动化推导6轴机械臂运动学&#xff1a;从DH参数到八组逆解实战 机械臂运动学分析是机器人开发中最烧脑的环节之一。传统手工推导DH参数矩阵不仅容易出错&#xff0c;验证过程更是令人崩溃——想象一下&#xff0c;当你花了两天时间推导出十几页公式&#xff0c;…...

千问3.5-2B博物馆导览:展品图理解、说明牌OCR与个性化讲解生成

千问3.5-2B博物馆导览&#xff1a;展品图理解、说明牌OCR与个性化讲解生成 1. 博物馆导览新体验 想象一下&#xff0c;当你站在博物馆的展品前&#xff0c;只需用手机拍下展品照片&#xff0c;就能立即获得专业的讲解内容、展品背景故事&#xff0c;甚至还能根据你的兴趣偏好…...

小白也能学会:MogFace透明蒙版可视化,人脸检测不再难

小白也能学会&#xff1a;MogFace透明蒙版可视化&#xff0c;人脸检测不再难 1. 为什么需要透明蒙版可视化&#xff1f; 想象一下这样的场景&#xff1a;你拍了一张全家福&#xff0c;想用AI工具检测照片中有多少人。传统的检测工具会在每个人脸上画一个绿色的方框&#xff0…...

数据驱动决策的基石:Awesome Public Datasets实用探索手册

数据驱动决策的基石&#xff1a;Awesome Public Datasets实用探索手册 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 在数据驱动决策日益成为商业竞…...

Phi-3-mini-4k-instruct-gguf应用落地:教育场景中的作业辅导与知识点提炼

Phi-3-mini-4k-instruct-gguf应用落地&#xff1a;教育场景中的作业辅导与知识点提炼 1. 教育场景中的AI助手需求 想象一下这样的场景&#xff1a;晚上10点&#xff0c;孩子还在为数学作业发愁&#xff0c;家长已经精疲力尽&#xff1b;老师批改着第50份作文&#xff0c;眼睛…...

从键盘敲击到屏幕显示:一个字符在Linux内核里的完整旅程(附C代码模拟)

从键盘敲击到屏幕显示&#xff1a;一个字符在Linux内核里的完整旅程 当你在终端敲下字母"A"时&#xff0c;这个简单的动作背后隐藏着一场跨越硬件、内核和用户空间的精密协作。让我们跟随这个字符的脚步&#xff0c;揭开Linux系统如何处理键盘输入的神秘面纱。 1. …...

Java结构化并发崩溃了?手把手教你用VirtualThread+StructuredTaskScope定位线程泄漏与作用域越界(附JDK21真机调试录屏)

第一章&#xff1a;Java结构化并发崩溃了&#xff1f;手把手教你用VirtualThreadStructuredTaskScope定位线程泄漏与作用域越界&#xff08;附JDK21真机调试录屏&#xff09;Java 21 正式引入结构化并发&#xff08;Structured Concurrency&#xff09;&#xff0c;其核心组件 …...

Fun-ASR语音识别新手入门:3步启动Web服务,麦克风实时转文字实测

Fun-ASR语音识别新手入门&#xff1a;3步启动Web服务&#xff0c;麦克风实时转文字实测 1. 快速认识Fun-ASR Fun-ASR是由钉钉与通义实验室联合推出的语音识别系统&#xff0c;专为中文场景优化设计。与市面上常见的云端语音识别服务不同&#xff0c;它最大的特点是支持本地化…...

JMeter vs Claude Code:从“约束系统“到“解放系统“的工程设计范式跃迁

当你还在用 JMeter 写线程组的时候&#xff0c;Claude Code 已经在用自然语言编排测试工作流了。这不是工具的迭代&#xff0c;是工程设计范式的代际更替。前言&#xff1a;两代工程设计哲学的碰撞 2026 年&#xff0c;AI 编程工具已经从"代码生成器"进化为"自主…...