自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发原语的使用 —— 面向仓颉的解读与工程实践

优先不可变与消息传递;共享可变时再用锁。在 API 层明确并发语义(谁是 Owner,谁会 clone/clone-cost)。对高频通路用原子或无锁结构;对复杂一致性用 Mutex + 小临界区。在异步代码中严格禁止“持锁 await”;用消息或复制小数据来解耦。编写死锁/竞争测试并使用工具(如线程 sanitizer)检验。并发是把程序从“顺序世界”推向“多实体交互”的实践艺术。仓颉的类型系统、所有权与声明式模型为并发提供了强有力的静态约束;

2025-11-10 11:22:35 705

原创 仓颉语言中的宏系统设计与应用

仓颉的宏系统代表了编程语言从“语法糖层级的简化”向“语义层级的智能扩展”进化的方向。它不仅使代码生成更安全、更高效,也让语言具备自我演化能力——开发者可以通过宏扩展语言特性,而不必等待编译器更新。未来,仓颉的宏系统有望与其类型推导、反射机制进一步结合,实现类似可验证的编译期逻辑推理(Verified Compile-Time Reasoning),这将让宏不再只是模板工具,而成为智能编程的核心引擎。是否希望我帮你把这篇文章改写成适合发布到技术专栏(例如掘金或知乎专栏)的排版版本?

2025-11-10 11:19:50 332

原创 Rust中Actix-web的性能优化技巧

本文解读Actix-web的核心性能机制,并通过深度实践展示技巧,帮助构建能处理百万QPS的Web服务。关键是Cargo.toml的[profile.release]配置:codegen-units=1减少JIT开销,lto="fat"启用链接时优化(LTO),panic="abort"简化错误处理减少体积。Actix的Actor模型在并发下高效,但消息传递有开销——最小化actor间通信,使用共享状态代替。基准测试显示,LTO可提升20-30%性能,但编译时间翻倍——在CI中使用增量构建缓解。

2025-10-30 11:31:13 653

原创 Rust中WebSocket支持的实现深度实践

WebSocket是现代Web应用的关键技术,提供全双工通信通道,支持实时数据推送如聊天、股票行情、协作编辑。不同于HTTP的请求-响应模式,WebSocket连接持久化,需处理ping/pong心跳、关闭帧和错误恢复。深入理解其实现原理,能帮助开发者构建低延迟、可靠的实时系统,同时揭示Rust在网络编程中的优势:零拷贝消息传递和编译期安全检查。心跳定时器使用tokio::time::interval,每30s发送ping,超时关闭。单连接echo简单,但真实场景需广播:聊天室中,一用户消息推送所有。

2025-10-30 11:27:32 732

原创 Rust中错误处理与响应构建深度实践

专业思考:响应构建是性能热点,避免不必要克隆,使用Cow延迟拷贝。Json使用serde自动序列化,Stream支持流式响应,避免大响应内存占用。专业思考:错误应分类为可恢复(如用户输入错误,返回400)和不可恢复(如数据库崩溃,返回500),并记录日志以便监控。错误处理的最佳实践是分层:业务错误自定义枚举,底层错误如IO用anyhow包装。运算符简化错误传播:在函数中遇到错误时,立即返回Err值,而不需手动unwrap。Rust的错误处理与响应构建机制,体现了语言的核心哲学:显式、可靠且零成本。

2025-10-30 11:24:53 689

原创 Rust中异步处理器(Handler)实现深度实践

Actix-web和Axum等框架将handler设计为返回Future的函数,编译期确保线程安全和生命周期正确。深入理解异步handler的实现原理,能帮助开发者构建响应迅速、可扩展的Web服务,同时揭示Rust异步生态的精妙设计。专业思考:异步并非万能。在Actix-web中,handler可直接async定义,而Axum要求handler返回impl IntoResponse的Future。请求处理是事件驱动的:handler在接收请求后,可await数据库查询、网络调用等IO操作,而不阻塞线程。

2025-10-30 11:20:12 438

原创 Rust中应用状态(App State)管理深度实践

🔍。

2025-10-30 11:17:30 511

原创 在多线程异步方法中 Spring Security 框架的 SecurityContext 获取认证信息错误原因及解决方案

解决SecurityContext获取认证信息错误

2024-06-05 13:45:04 1887

原创 欣诺docker操作文档

操作文档

2024-06-05 11:39:40 416 1

原创 Mybatis的类型转化器的使用和自定义类型转化器

Mybatis的类型转换器和自定义类型转换器

2024-05-16 10:50:19 647

原创 在多线程异步方法中 Spring Security 框架的 SecurityContext 无法获取认证信息的原因及解决方案

由于 Spring Security 默认使用的是 MODE_THREALOCAL 模式,该模式只允许在请求的主线程中获取安全上下文信息,用来获取用户身份信息。但是如果请求的接口中,又调用了异步方法,或者自定义了线程池去执行方法,则会获取不到用户信息。1.定义配置也很简单,只需要在配置类中注入一个 bean 即可,覆盖 Spring Security 默认的安全上下文策略即可。所以在使用authentication 的时候要判断是否为空,防止空指针异常。那么就需要自定义配置,修改程序默认的策略。

2023-06-21 17:21:29 3562

原创 Docker日常使用命令

Docker一些基础命令

2023-06-13 13:44:24 204

原创 Java多线程详解(二)

多线成的并发

2022-09-26 13:27:47 2886

原创 Java多线程详解(一)

Java多线程详解

2022-09-16 22:44:45 471

原创 Java 多文件压缩为ZIP

Java 多文件压缩为ZIP

2022-09-16 13:57:10 6607

原创 解决 @Data 和 @Builder 的使用冲突问题

解决 @Data 和 @Builder 一起使用冲突

2022-09-03 18:45:01 1493 1

空空如也

空空如也

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

TA关注的人

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