自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3318)
  • 收藏
  • 关注

原创 深入 UserDetailsService 2

它默认(可以自定义)需要两个表:users 表和 authorities 表,users 表至少有 username、password、enabled 三个列,用来保存用户的信息,authorities 表至少有 username、authority 两个列来保存授权,并与用户关联。至此 JdbcUserDetailsManager 就可以工作了,如果数据库表名或列和 JdbcUserDetailsManager 默认的不一致,对象提供了一些方法来修改默认的 SQL 语句,这样就可以灵活发挥了。

2025-08-22 23:17:22 171

原创 基于开发者空间Notebook进行LoRA微调Whisper_base实现语音识别

随着人工智能的发展,语音识别技术已成为连接人与数字世界的重要工具。本实验旨在构建一个基于云主机和Whisper语音识别系统的平台,利用云计算资源和先进的人工智能技术,为开发者提供便捷高效的开发环境。Whisper语音识别系统是一种基于深度学习的语音识别技术。它使用了端到端的模型,能够将语音输入转换为文本输出。Whisper采用了自注意力机制和卷积神经网络,能够更好地处理不同语音信号的变化和噪音。

2025-08-22 22:11:14 149

原创 【实操】生产环境Logstash崩了—— 问题排查

层层查找 ,发现 /var/lib/docker/overlay2/ea4dd1b88d64a6e4a512c72d29ac43fafb4c2896c76f7b7e5569a783135220c5/merged/usr/share/logstash下有个。经检查发现,某个大小为 300MB 的日志归档文件本应包含约 300 万条日志,实际却仅采集了数千条即中止,采集过程未能完整执行。没问题,按照我写的文章【Docker磁盘空间爆满的隐形杀手:容器可写层的深度排查指南 】来操作。

2025-08-22 15:36:03 71

原创 HTTP API接口快速变成MCP Server

自己的电脑通过客户端代理用户提交的请求(自然语言),把MCP Server提供的工具tools说明(包括参数说明)、提示词(可选),加上用户的请求,一同提供给大模型,由大模型决定是否有合适的工具解决用户的问题,如果有就返回给客户端,由客户端调用具体的工具(数据库、服务接口等等)。在没有MCP的时候,如果智能体要调用外部的服务,通常情况下需要智能体开发者根据服务接口文档,开发连通大模型和服务接口的代码,这个代码一般是在开发在客户端里面,因为不同的客户端(智能体)使用这些服务接口的时候都要针对开发。

2025-08-22 09:48:18 283

原创 多继承详细介绍

众所周知,C++是面向对象的编程,当单继承被设计出之后,自然而然就会想“一个对象不一定只会有一种对象的属性啊”,就像蝙蝠既有“飞行动物”属性又有“哺乳动物”属性,那么,多继承这种“更加贴近实际生活”的方式显然更加符合“面向对象”的需求。登录后复制// 父类1:哺乳动物protected:public:cout << name << "用乳汁喂养幼崽" << endl;// 父类2:飞行动物protected:// 与Mammal存在同名成员public:void fly()

2025-08-21 23:04:31 179

原创 【MySQL 数据库】MySQL 表的约束

TOC。

2025-08-21 22:19:51 181

原创 仓颉之包与异常处理的智慧战场

仓颉编程语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现、以及开箱即用的 IDE工具链支持,为开发者打造友好开发体验和卓越程序性能。案例结合代码体验,帮助大家更直观的了解仓颉语言中包的定义和导入和异常处理知识。异常不属于程序的正常功能,一旦发生异常,要求程序必须立即处理,即将程序的控制权从正常功能的执行处转移至处理异常的部分。仓颉编程语言提供异常处理机制用于处理程序运行时可能出现的各种异常情况。

2025-08-21 22:00:58 182

原创 昇腾数据探险家:挖掘数据的隐藏宝藏

数据清洗(Data Cleansing)是指对数据进行处理和纠错,以去除或修复数据集中存在的错误、不一致、不完整和冗余的数据,从而使数据更加准确、可靠和可用。数据清洗是数据处理和数据分析中一个非常重要的步骤,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。本案例选择PyThon所及生成杂乱数据及清洗作为示例,通过实际操作,让大家深入了解如何利用Python中预装的库来进行数据清洗。在这个过程中,大家将学会从数据生成到数据清洗全流程。

2025-08-21 21:38:51 137

原创 王炸!SpringBoot+MCP 让你的 CRUD 系统秒变AI助手

MCP作为AI与服务之间的桥梁,极大简化了集成工作。想象你有很多不同类型的服务和数据库,每个都有自己独特的"说话方式"。gRPC通过标准化的通信方式可以实现不同语言开发的服务之间进行通信,那么MCP专门为AI模型设计的"翻译官和接口管理器",让AI能以统一方式与各种应用或数据源交互。这里是根据用户输入的问题,大模型会判断我们开放的工具方法中是否有匹配的,如果有则进行调用并返回。我们的目的是将一个Spring服务改造成MCP服务,所以这里不需要进行客户端的配置,同理,在引入依赖的时候也不用引入客户端的依赖。

2025-08-21 14:42:35 193

原创 Spring AI + DeepSeek,10分钟快速构建本地化AI对话系统!

其中,Redis的主机、端口、密码等参数需要与实际部署的Redis容器相匹配,而AI部分则指定了Ollama的基地址和使用的模型版本,确保系统能够正确连接和调用相应的AI服务。说明:该配置类用于创建RedisTemplate Bean,通过设置不同的序列化方式,确保在与Redis进行数据交互时,键和值能够正确地进行序列化和反序列化操作,从而保证数据的完整性和可读性。说明:此命令在已启动的Ollama容器中执行模型拉取操作,将DeepSeek-R1的7b版本模型下载到本地,以便后续进行调用和测试。

2025-08-21 14:39:07 195

原创 记一次二进制部署kubernetes集群工作节点NotReady处理过程

发现calico-kube-controllers这个pod是因为调度到新的节点上了,这个节点上没有calico-kube-controllers镜像,需要重新拉取镜像,但由于镜像加速器和国外镜像被封的原因镜像拉取失败,所以pod创建失败,我从其他的节点导出镜像,重新导入到这个节点,pod成功启动。发现calico-kube-controllers和calico-node的状态异常(图中为后截图,图中的pod状态不是当时的错误状态),所以我继续看pod的状态。我的第一想法是calico的问题。

2025-08-21 12:26:41 162

原创 桌面挂件不能承受之重——GIF

上述提出的加载网络GIF的方案,虽然解决了现有方案中加载GIF需要引入很多图片资源或者GIF资源,导致包体大小增加的问题,但是如果GIF图片本身质量较高,通过新方案可能会降低GIF的质量。上述三种方案的优缺点和适用场景总结如下:总而言之,具体采用哪种方案需要根据实际开发的具体需要来实现,综合方案的优缺点和适用场景来选择。

2025-08-21 11:22:53 174

原创 【MySQL 数据库】MySQL 表的操作(二)

TOC。

2025-08-20 23:17:50 134

原创 Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南

新建 plist 文件写入内容(路径改为你自己的)> <!

2025-08-20 16:52:47 230

原创 HarmonyOS5 凭什么学鸿蒙—— GetContext

上篇文章在结尾留下两个问题getContext(this) 和 getContext() 有什么区别?为什么弃用直接 getContext,转而使用 UIContext.getHostContext?因为篇幅问题,留在最后给大家一起思考了,今天我又来了,准备把剩下的扫扫尾~~~老样子如果您有任何疑问、对文章写的不满意、发现错误或者有更好的方法,如果你想支持下一期请务必~,欢迎在评论私信或邮件中提出,这真的对我很重要!🙏getContext(this):依赖传入对象的实例绑定,有回退机制。

2025-08-19 21:16:51 736

原创 定位CPU占用率高

一般是大量读取某资源,且该资源采用了资源锁的情况下,线程进入等待状态,等待资源的读取。当程序出现故障,往往一次 dump 的信息,还不足以确认问题。如果是java应用程序,想获得更多的线程相关信息,需要将上面的进程Id转换成16进制的,因为在java堆栈里,存储线程的Id采用的是16进制,可以直接命令printf %x 4739,输出:1283。Blocked:线程阻塞,是指当前线程执行过程中,所需要的资源长时间等待却一直未能获取到,被容器的线程管理器标识为阻塞状态,可以理解为等待资源超时的线程。

2025-08-19 18:26:43 654

原创 VS Code 终端完全指南

Visual Studio Code (VS Code) 集成终端是一个功能完备的命令行界面,直接内置于编辑器中,让开发者无需离开 VS Code 即可执行命令、管理文件和运行程序。它支持多种 shell(如 Bash、PowerShell、Zsh),并提供丰富的自定义选项和高级功能,极大提升了开发效率。在登录后复制},},1.2.3.4.5.6.7.8.9.10.11.12.13.登录后复制1.2.3.4.5.6.7.8.

2025-08-19 17:10:04 662

原创 VS Code Copilot 内联聊天与提示词技巧指南

功能类别关键技巧快捷键/命令编辑器内联聊天选中代码块限定上下文⌘I终端内联聊天直接运行或修改命令⌘Enter⌥Enter提示词优化使用@参与者和#变量@workspace#filename代码质量提供示例代码和详细注释效率提升利用slash命令明确任务类型/explain/fix/testsVS Code Copilot 的内联聊天功能和提示词工程是提升开发效率的关键。通过本文介绍的方法,开发者可以更精准地获取 AI 辅助,减少重复工作,专注于创造性任务。

2025-08-19 16:43:32 734

原创 在jackson中@JsonAnySetter实现不固定属性序列化和多层级属性序列化实战

在当今数字化飞速发展的时代,数据的交互与处理已成为软件开发中至关重要的环节。而 Jackson 作为一款功能强大、广泛应用于 Java 领域的 JSON 处理库,在数据序列化与反序列化过程中发挥着关键作用。在实际开发场景中,我们常常会遇到各种复杂多变的数据结构。一方面,可能会遇到一些具有不固定属性的对象。这些对象的属性数量和名称并不是在编译时就确定好的,而是可能随着不同的业务场景、数据来源或用户操作而动态变化。另一方面,多层级属性的序列化也是一个常见的痛点。

2025-08-19 15:56:16 523

原创 ELK技术栈全面解析与部署方案

通过以上部署方案和原理解析,ELK技术栈可实现高效的日志收集、存储与分析,帮助企业快速定位系统问题、监控服务状态并挖掘数据价值。Elasticsearch、Kibana、Elasticsearch-head插件。)后,在Discover页面查看日志数据。ES主节点、Kibana服务器。的为master节点。日志收集与过滤服务器。

2025-08-19 14:12:06 814

原创 【HarmonyOS Next之旅】DevEco Studio使用指南(三十五) -> 配置构建(二)

每一个target均可以指定产物命名。登录后复制},"artifactName": "customizedTargetOutputName-1.0.0" //产物名称为customizedTargetOutputName-1.0.0},"artifactName": "customizedTargetOutputName1-1.0.0" //产物名称为customizedTargetOutputName1-1.0.0},

2025-08-19 12:30:01 808

原创 基于Geotools的两条道路相交并根据交点形成新路线实战-以OSM数据为例

在当今数字化迅速发展的时代,地理空间数据的处理与分析已成为众多领域不可或缺的关键技术。从城市规划到智能交通,从环境监测到物流配送,精准且高效的地理数据操作直接影响着决策的科学性和方案的可行性。OpenStreetMap(OSM)作为全球广泛使用的开源地理数据平台,蕴含着海量的道路、建筑、地形等信息,为各类地理空间应用奠定了坚实的数据基础。然而,如何从这些纷繁复杂的 OSM 数据中提取有价值的信息,并进行深入的空间分析,是一个备受关注且极具挑战性的课题。

2025-08-19 11:15:06 607

原创 【HarmonyOS】应用设置全屏和安全区域详解

IDE创建的鸿蒙应用,默认采取组件安全区布局方案。顶部会预留状态栏区域,底部会预留导航条区域。这就是所谓的安全区域。如果不处理,界面效果很割裂。所以业内UI交互设计,都会设置应用为全屏布局。将页面绘制区域沾满整个界面。或者将安全区域的颜色与应用UI设置为一致。以上两种方式都是沉浸式布局的处理。所以全屏非沉浸式,概念不可混为一谈。在移动应用开发中,"沉浸式效果"早已不是新鲜词,但要真正实现自然、和谐的沉浸式体验,却需要对系统布局、交互逻辑有深入理解。

2025-08-19 09:55:44 809

原创 【MySQL 数据库】MySQL 数据库的操作

@TOC1.2.3.4.5.6.说明:1.创建一个使用utf8字符集的db2 数据库登录后复制1.创建一个使用utf字符集,并带校对规则的db3 数据库。登录后复制1.查看:1.2.3.4.5.6.7.🌠 字符集和校验规则🌉查看系统默认字符集以及校验规则登录后复制1.2. 及以上版本,使用 utf8mb4 字符集的话(可以支持更完整的 Unicode 字符,包括 emoji)1.字符集主要是控制用什么语言。比如就可以使用中文。1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.

2025-08-19 00:19:42 935

原创 JVM内存迷局:为何堆内存如过山车,而容器内存却风平浪静?—— 深入剖析JVM内存模型与资源真相

本文将深入探讨这些参数的作用范围、JVM内存指标的含义,并解析新生代与老年代的垃圾回收机制,帮助你全面理解Java应用内存行为的真实情况。时,你是在告诉JVM:启动时分配512MB堆内存,最大可扩展至2048MB。在容器化环境中(如Kubernetes Pod),应合理设置-Xmx,避免JVM堆内存加上非堆内存超出容器限制导致被OOM杀掉。这是一个常见的现象,其根本原因在于JVM的内存管理策略与操作系统内存统计方式的差异。老年代存放长期存活的对象和大对象(直接分配的大对象可能直接进入老年代)。

2025-08-18 22:32:57 527

原创 老顾深度解析【字节跳动的AI项目DeerFlow】源码之人工中断(四)

老顾前面介绍了老顾深度解析【字节跳动的AI项目DeerFlow】源码(一)老顾深度解析【字节跳动的AI项目DeerFlow】源码之协调者(二)老顾深度解析【字节跳动的AI项目DeerFlow】源码之规划者(三)今天老顾给大家介绍另一个角色:人。此角色就是需要人进行干预,需要补充一些相关信息。然后再重点介绍一下前后端的交互逻辑。用户提出的问题:作为40岁的男人,如何减肥?规划者Planner会结合背景调查进行分析。

2025-08-18 17:01:42 766

原创 【跨国数仓迁移最佳实践 6】MaxCompute SQL 语法及函数功能增强,10 万条 SQL 转写顺利迁移

为了使用户业务能够平滑地从 BigQuery 迁移到 MaxCompute,首先需要对两者之间的 SQL 语法差异进行了详细地分析,并基于分析结果进行方案设计。BigQuery 独有特性:这是指在启动业务迁移的时候,MaxCompute 还没有提供的语法特性或者功能。针对这一类的特性,需要对 MaxCompute 进行增强,提供和 BigQuery 类似的业务功能。两个平台都提供但是具体行为存在差异的那些特性。对于这种情况,MaxCompute 为了保持行为兼容,不能直接修改自己的行为。

2025-08-18 16:54:56 705

原创 仓颉之泛型和扩展的神奇天地

仓颉编程语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现、以及开箱即用的 IDE工具链支持,为开发者打造友好开发体验和卓越程序性能。案例结合代码体验,帮助大家更直观的了解仓颉语言泛型和扩展知识。在仓颉编程语言中,泛型是一种通过参数化类型来增强代码复用性和类型安全性的机制,class、interface、struct、enum均可声明类型形参。//定义泛型列表//elem的类型是Option<T>,表示可空值。

2025-08-18 14:53:31 695

原创 关于布尔类型的变量不要加 is 前缀,被网友们吐槽了,特来完善下

JavaBeans 规范,只对boolean属性进行了规定,并未对Boolean属性进行规定,不同的实现者对Boolean属性的 getter 的实现可能各不相同,大家不要觉得不可理解老老实实遵循Java开发手册,可以规避很多前人踩过的坑与本文相关的就是POJO 类中的任何布尔类型的变量,都不要加 is 前缀所有的 POJO 类属性必须使用包装数据类型,RPC 方法的返回值和参数必须使用包装数据类型,所有的局部变量推荐使用基本数据类型。

2025-08-18 14:15:03 851

原创 【C语言】一篇文章带你深度理解函数

了解了库函数,下面我们来看看更为重要的自定义函数,能给程序员写代码更多创造性。一般我们在使用函数的时候,直接将函数写出来就使用了。比如:我们要写一个函数判断一年是否为闰年。上部分为函数的定义,第15行是函数的调用,程序正常运行。上面是函数的定义在函数调用之前,那如果函数的定义在函数调用之后呢?如下:在VS2022上会出现警告。

2025-08-18 12:11:54 954

原创 记一次 .NET 某发证机系统 崩溃分析

这次生产事故非常考察你对 Windows堆管理器的深度理解,这块在我的训练营里有系统而深入的讲解,dump分析就是这样的有趣,各种迷惑和幻境,全靠扎实的底层功力和丰富的经验来冲出迷雾!

2025-08-18 10:01:03 772

原创 记一次 .NET 某无语的电商采集系统 CPU爆高分析

这次cpu爆高事故我个人觉得还是挺无语的,越是极客的程序员越喜欢把资源压榨到极致,不断的研究着如何不让马吃草又让马儿跑,而我是个偏向佛系的人。。。

2025-08-18 10:00:53 883

原创 C++并发编程:掌握多线程与异步操作

并发编程允许程序同时执行多个任务,就像餐厅里多位服务员同时服务不同餐桌,大大提高了整体效率。然而,并发编程也带来了新的挑战:竞争条件、死锁、数据同步等问题需要开发者谨慎处理。C++11引入的标准线程库彻底改变了C++并发编程的面貌,提供了跨平台的线程、互斥量、条件变量等工具,使开发者能够构建高效可靠的多线程应用。记住,并发编程既是艺术也是科学。在下一篇文章中,我们将深入探讨C++的现代特性,包括Lambda表达式、移动语义、constexpr等,这些特性让C++代码更简洁高效。允许显式设置值,通过。

2025-08-17 17:20:05 743

原创 java内存占用高案例

场景内存升高特征排查线索修复关键静态集合滥用Old区持续增长,Full GC无效MAT中占比高改用弱引用缓存或定时清理未关闭资源堆外内存+堆内byte[]同步增长系统句柄数超标 +高自动关闭监听器未注销监听器对象堆积在Old区事件源类持有大量显式调用单例持有外部引用单例关联对象无法回收单例字段引用短生命周期对象替换为ThreadLocal误用线程复用导致数据残留中值对象堆积finally块中强制remove()匿名内部类外部类无法回收GC Root包含内部类引用链。

2025-08-17 16:33:07 1013

原创 Spring Boot + 事务钩子函数,太强了!

我们结合registerSynchronization的源码来看,其实这段代码主要就是向线程变量内部的LinkedHashSet添加了一个对象而已,但就是这么一个操作,让Spring在事务执行的过程中变得。整个需求的流程还是比较简单的,考虑到后续会有其他事业部也要进行数据存档操作,CTO建议支付系统团队内部开发一个二方库,这个二方库的主要功能就是发送消息到kafka中去。的需求:要求支付系统对每个账户的资金流水做一份存档,要求支付系统在写流水的时候,把流水相关的信息以消息的形式推送到kafka,由。

2025-08-17 16:14:13 749

原创 Linux 系统 /var/log/journal/ 是什么文件,/var/log/journal/文件夹占用系统空间过高,/var/log/journal/文件是否可以删除

服务器根目录爆满,经过排查/var/log/journal/占用了4G+,接踵而来的问题就是1./var/log/journal/ 是什么文件2./var/log/journal/文件夹占用系统空间过高,是否可以删除本文是翻阅资料后了解到的内容整理@[TOC](Linux 系统 /var/log/journal/ 是什么文件,/var/log/journal/文件夹占用系统空间过高,/var/log/journal/文件是否可以删除)

2025-08-17 10:47:15 338

原创 数据结构——2.数据复杂度和空间复杂度

但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。在实际中一般情况关注的是算法的最坏运行情况,所以数组中搜索数据时间复杂度为O(N)。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的。两个维度来衡量的,即时间复杂度和空间复杂度。

2025-08-17 03:22:04 146

原创 ArkUI状态管理V2版的变量初始化

本文所有测试代码都是基于API version 17,如下图所示。

2025-08-16 23:51:58 596

原创 Redis高可用迷思:开启 RDB 就能拯救 NFS 存储的稳定性吗?实测告诉你真相!

NFS 带来了管理便利,但也引入了单点故障风险。RDB 提供了数据恢复能力,却无法让 Redis “脱离磁盘”。不是所有“看起来能用”的组合,都适合生产环境。

2025-08-16 21:45:02 418

原创 ElasticSearch核心技术(索引管理)

直接克隆会报错index zhaoliu must be read-only to resize index. use "index.blocks.write=true"索引是具有相同结构的文档的集合,由唯一索引名称标定。一个集群中有多个索引,不同的索引代表不同的业务类型数据。(1)创建默认索引,默认是一个分片和一个副本。索引是数据的载体,存储了文档和映射的信息。(2)基于通配符删除多个索引。(3)创建指定的分片和副本。(2)修改分片,修改失败。(2)创建指定的分片。(1)查看所有的索引。

2025-08-16 20:53:02 429

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除