自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次 .NET 某智能视觉软件 句柄爆高分析

托管内存由 GC 管理,但非托管资源必须显式释放。

2026-07-31 16:37:04 153

原创 MySQL EXISTS与IN用法对比分析

是两种常用的子查询操作符。它们都能实现“根据另一张表的数据过滤当前表”的逻辑,但在执行机制、性能表现和适用场景上存在显著差异。—## 三、性能对比:关键差异点### 1. 子查询结果集大小- 如果子查询返回的结果集很小(比如几十条),更容易触发MySQL的“半连接”优化(semi-join),尤其是在MySQL 5.6+版本中,优化器会将。:将外层查询的某个字段值与子查询返回的结果集(通常是单列)进行比较,若匹配则返回该行。通常能使用子查询结果集上的索引,但无法直接利用外层表的索引进行“半连接”优化。

2026-07-31 16:35:57 236

原创 介绍了LiveBindings格式化的几种进阶方法: * 使用表达式列格式化。 * 自定义绑定方法。 * 使用自定义表单方法格式化。 ...

它允许你编写完全自定义的格式化函数,这些函数可以访问整个表单上下文,包括其他控件、数据库查询结果等。在实际开发中,建议根据以下原则选择:- 逻辑简单且一次性使用 → 表达式列- 逻辑复杂但可复用 → 自定义绑定方法- 需要访问表单上下文或动态数据 → 自定义表单方法掌握这些技巧后,你将能够构建出既美观又健壮的数据驱动应用,让 LiveBindings 成为你手中的强大武器。## 自定义绑定方法当格式化逻辑需要复用或涉及复杂计算时,自定义绑定方法(Custom Binding Method)是更好的选择。

2026-07-30 17:10:29 208

原创 一步一步学习使用LiveBindings() LiveBindings图像绑定与自定义绑定方法()

今天,我们将通过实际案例,一步步学习如何在项目中实现图像绑定和自定义绑定方法。## 图像绑定:将图片文件名绑定到图像显示图像绑定比文本绑定更复杂,因为图像数据通常不是简单字符串,而是位图对象或文件路径。从基础的文本数字绑定,到复杂的图像绑定和自定义绑定方法,我们看到了数据绑定的强大之处。## 高级技巧:条件绑定与错误处理在实际应用中,我们经常需要根据条件选择不同的绑定行为,或者处理绑定过程中的错误。方法,重新加载图像并更新显示。## 基础绑定:文本与数字在深入图像绑定之前,我们先回顾一下基础的数据绑定。

2026-07-30 17:09:22 165

原创 纯 C#实现+AOT 打造的智能PDF目录提取工具 PdfTocExtractor

2026-07-29 15:50:01 233

原创 我的AI自学路线,可能对你有用

循序渐进 + 动手实践。

2026-07-29 15:48:44 179

原创 微读 Go 标准库 - net/mail 解析邮件地址与消息格式

nil { fmt.Println(“解析地址列表失败:”, err) return } // 遍历并打印每个地址 for i, addr := range addrs { fmt.Printf(“地址 %d: 名称=%q, 邮箱=%s\n”, i+1, addr.Name, addr.Address) }}” -> 名称=“John Doe”, 邮箱=john@example.com成功解析 “John (comment)

2026-07-28 17:32:16 204

原创 Johny_Zhao

自动化任务调度器就像一个智能闹钟,它能按你设定的时间(比如“每5分钟”或“每天上午9点”)自动执行任务。它通常用于:- 定时数据抓取- 系统监控与告警- 定时邮件发送- 日志清理我们的目标是用Python写一个简单的调度器,支持。- 每个任务执行时都启动新线程,这样如果一个任务耗时很长,不会影响其他任务的调度。## 第三步:编写测试用例现在,让我们创建一个使用示例,模拟一个每天打印时间的任务和一个一次性任务。## 第二步:实现调度器引擎调度器引擎负责维护任务队列,并在一个无限循环中检查任务是否就绪。

2026-07-28 17:31:05 221

原创 年前端性能优化终极指南

本文将深入剖析前端性能优化的核心原理,并提供可运行的代码示例,帮助你在实际项目中实现极致性能。## JavaScript执行层面优化:减少主线程阻塞### 使用Web Workers进行并行计算JavaScript是单线程执行的,长时间计算会阻塞UI渲染。## 渲染层面优化:减少重排与重绘### 避免强制同步布局浏览器渲染流程包括:解析HTML、构建DOM树、计算样式、布局、绘制。),让浏览器缓存资源,避免重复下载。:通过监听滚动事件,动态计算当前可视区域,仅创建可见项的DOM节点,并复用它们。

2026-07-27 16:05:41 184

原创 面试官:如何确保动态线程池任务都执行完?

提交任务时,线程池遵循以下流程:1. 如果当前线程数 < corePoolSize,创建新线程执行任务。## 线程池的工作原理与任务执行模型要理解“确保任务执行完”,首先需要回顾线程池的核心组件:核心线程池(corePoolSize)、最大线程池(maximumPoolSize)、工作队列(workQueue)和拒绝策略。的阻塞机制依赖于内部锁,当工作线程数变为0时,锁被释放。这种方案不依赖线程池关闭,适合需要频繁提交任务的场景。设置线程池状态为 SHUTDOWN,拒绝新任务,但允许已有任务继续。

2026-07-27 16:04:34 149

原创 源码调试-带你了解下车牌识别的深度学习模型-LPRNet

2026-07-26 15:50:46 210

原创 qemu的外部快照实现原理

qemu-img。

2026-07-26 15:48:11 200

原创 从零开始:C# 拼音首字母搜索、字符串编码、关键词高亮的原理即实现考虑

编码转换。

2026-07-25 15:59:41 207

原创 深入解析Tomcat类加载器:为何及如何打破Java双亲委派模型

2026-07-25 15:58:35 174

原创 使用 Github Pages 和 Hexo 搭建博客

source/

2026-07-24 16:30:03 224

原创 Microsoft 代理框架简介(预览版):让每个开发人员都能轻松使用 AI 代理

无论你是想做一个简单的聊天机器人,还是一个能联网、能操作数据、能调用API的复杂自动化系统,这个框架都能帮你快速起步。毕竟,未来的开发方式,很可能就是“写几个工具函数,让AI代理自己去组合、执行”。别被“代理”这两个字吓到,简单说,它就是一个让开发人员能快速搭建AI驱动的自动化助手(也就是“代理”)的工具包。比如,让它能进行数学计算。它把底层复杂的东西都封装好了,你只需要关注“代理要做什么”,而不是“怎么调用LLM”。比如一个“搜索代理”负责查资料,一个“总结代理”负责整理,一个“写作代理”负责输出文章。

2026-07-24 16:28:55 191

原创 3分钟搞懂深度学习AI:毁掉AI的广播机制陷阱

记住:永远不要依赖隐式广播来“修复”维度错误。

2026-07-23 16:01:42 172

原创 不积跬步无以至千里,不积小流无以成江海!

无论是初学者还是老手,我们都深有体会:每一个伟大的项目、每一行优雅的代码,都源自无数个微小的步骤和点滴的积累。最后,希望你能从这篇文章中获得一些启发,在自己的技术旅程中,脚踏实地,积累点滴,最终到达属于你的“千里”之地。记住,每一行代码都是你迈向成功的“跬步”,每一段程序都是你汇入“江海”的“小流”。比如,想用一个月学会 Python 并写出一个完整的 Web 应用,结果因为基础不牢,代码写出来满是 bug,调试起来让人崩溃。:每次提交都是一个“小流”,但通过这些提交,你可以回溯历史,构建出复杂的项目。

2026-07-23 15:59:06 218

原创 Oracle数据库物理备份与恢复技术深度解析

# 物理备份的核心工具:RMANRMAN(Recovery Manager)是Oracle自带的备份恢复工具,它就像一个“智能管家”,自动管理备份文件、校验数据完整性,并简化恢复流程。今天,我将用通俗易懂的语言,结合代码示例,带你深入理解Oracle的物理备份与恢复技术。物理备份,简单来说,就是直接复制数据库的物理文件,比如数据文件、控制文件、归档日志等。记住,备份是“买保险”,恢复是“理赔”。## 高级恢复技巧:时间点恢复有时,我们不想恢复到最新状态,而是希望回到某个特定的时间点(比如误操作前)。

2026-07-22 20:29:11 196

原创 2026年 Safari 和 iOS版本检测新思路

基于特性推断。

2026-07-22 20:28:19 171

原创 Solon AI vs Spring AI vs LangChain4j 深度对比

Java 8 兼容、框架无关嵌入、三级 Agent 体系、动态技能系统——它解决的是另外两个框架覆盖不到的场景:遗留系统 AI 化、复杂智能体编排、资源敏感部署。本文将聚焦三个最具代表性的 Java AI 框架——Solon AI、Spring AI、LangChain4j,从定位、能力、代码体验、工程化等多个维度进行横向对标,给出明确的场景推荐。Spring AI 有独立的 Java MCP SDK,支持同步/异步 Client/Server,注解式 MCP Client Handler 简化开发。

2026-07-21 15:09:09 242

原创 从零学习Kafka:生产者压缩

另一种是 LogAppendTime,这种时间戳是记录的 Broker 在写入磁盘时的时间戳,Broker 需要解压整个批次,然后修改每条消息的时间戳,再压缩整个批次。因为压缩的本质是通过找到数据之间的重复模式来减少体积,批次内积累的数据越多,重复的可能性就越大,压缩概率也就越好。除了 Producer 端压缩之外,Broker 端也是可以进行压缩的,但这种情况并不常见。最后再提一下,重压缩是非常消耗 Broker 端 CPU 资源的,我们要尽量避免 Broker 端的重压缩,让它只做磁盘的读写操作就好。

2026-07-21 15:08:34 193

原创 20260428 - ZetaChain 安全事件分析

所以,由以上的代码可以得知,在 ZetaChain 上调用 GatewayZEVM.call() 函数所进行的参数检查是很宽松的。20260428,ZetaChain 遭受了跨链调用攻击,由于对跨链信息缺乏校验与限制,黑客通过构造恶意的跨链信息,将目标链上曾经对 Gateway 合约授权的用户的资金进行转移。

2026-07-20 14:57:22 172

原创 数据库隔离级别

PostgreSQL 的 Repeatable Read 实际上是 Snapshot Isolation,可能发生写倾斜(Write Skew)异常,需要 Serializable 才能完全避免。MySQL InnoDB 在 Repeatable Read 级别通过 Next-Key Lock 已实际解决了幻读问题,所以标注为 ✓*。Read Committed:默认使用锁,可通过 READ_COMMITTED_SNAPSHOT 启用 MVCC。– 仍返回 5 条,无幻读。

2026-07-20 14:56:35 205

原创 用 Solon AI ReActAgent 落地智能客服工单处理

public String get_logistic_status(@Param(description = “物流单号”) String trackNo) {public String get_order(@Param(description = “订单号”) String orderId) {return “{“status”: “lost”, “info”: “包裹在上海分拨中心丢失”}”;+ ““trackNo”: “track_123”, “sku”: “智能耳机”}”;

2026-07-19 15:51:07 153

原创 k8s调用服务异常cannot allocate memory

从该节点上看可分配内存只用到了一半,这种异常在资源比较紧时经常出现,其实与节点或宿主机硬件资源有关,比如CPU和内存条比较老,因为同等核数和内存的新服务器即使用90%大概率不会出现这种情况。大量 Pod 设置了高 memory limit 但实际未完全使用,一旦这些 Pod 突然增长使用内存,节点可能 OOM。但还是查了下资料提示是节点内存限制这块的Limit 耗尽 (97%),服务启动需要2G空间,所以不够。释放 Limit 配额:调低部分 Pod 的 memory limit,或驱逐不需要的 Pod。

2026-07-19 15:49:50 185

原创 霍尔定理和最大流算法 入门

基础概念二分图:简单说就是"两个阵营"的图,比如左边是「男生」(集合A),右边是「女生」(集合B),边代表"男生和女生能配对",没有跨阵营内部的边(比如男生之间不连边)。完美匹配:左边每个男生都能找到一个唯一的女生配对,右边每个女生也只配一个男生(相当于"全员配对成功")。霍尔条件:对于左边集合A的任意子集S,S中节点的邻居集合N(S)的大小必须≥≥ S的大小。即∣��∣≥∣�∣∣N(S)∣≥∣S∣ 对所有�⊆�S⊆A 成立。

2026-07-18 15:31:46 185

原创 查询的处理流程

BTW:刚开始我尝试用langchain封装的方法,但后来发现langchaing的核心库以及对neo4j的封装,接口已经大变,很难对齐颗粒度,所以这里使用的方法是自己梳理的过程。实现流程整体流程图:是否用户提问获取图谱 SchemaLLM 生成 Cypher 查询Neo4j 执行查询查询成功?获取查询结果返回错误信息LLM 增强生成自然语言回答详细流程说明:Neo4j图数据库大语言模型用户Neo4j图数据库大语言模型用户。

2026-07-18 15:30:51 149

原创 python-LangGraph框架(3-33-LangGraph多分枝实战)

首先需要定义整个图结构的核心节点,每个节点对应一个具体的任务,节点的职责必须清晰、单一。我们的案例中,共定义了4个核心节点,各司其职:- 入口节点:作为整个流程的启动器,负责接收用户的查询请求,同时触发两个专业化分支的并行执行,相当于多分支的“总开关”;- 两个专业化分支节点:分别负责获取天气、时间数据,输出原始数据,不参与决策;- 汇聚决策节点:负责收集两个分支的原始数据,校验数据的完整性,再结合决策逻辑,输出最终的户外活动适宜性评估报告。

2026-07-17 14:43:09 209

原创 前端视角下的 Java

写了这么多,我想回到开篇的比喻:镜子。Java 之于前端,不是一座需要征服的山,而是一面需要理解的镜子。我们熟悉的 React Context,在 Java 里叫我们熟悉的 Redux Action,在 Java 里叫我们熟悉的 useEffect cleanup,在 Java 里叫我们熟悉的 Vite Hot Module Replacement,在 Java 里叫我们熟悉的 TypeScript Interface,在 Java 里叫我们熟悉的 npm audit,在 Java 里叫最后。

2026-07-17 14:42:21 295

空空如也

空空如也

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

TA关注的人

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