简介 Java 异步编程是现代高性能应用开发的核心技术之一,它允许程序在执行耗时操作(如网络请求、文件 IO)时不必阻塞主线程,从而提高系统吞吐量和响应性。 异步 vs 同步 同步:任务按顺序执行,后续任务需等待前任务完成。 public String syncTask() { // 模拟耗时操作 ...
在rust中,匿名函数(或者说闭包)大量存在,所以有必要再次讨论匿名函数的一些问题。 其中比较关键的是和FnXXX特质的关系,以及和被捕获变量的关系。 本文的目的在于确认几个要点: 一、FnOnce,FnMut,Fn简单比较 比较汇总表 分类 执行次数 是否可以修改捕获的外部变量 是否归还捕获的外部 ...
关于Streamlit的介绍,可参考《玩转Streamlit》系列 在当今数据驱动的时代,快速构建交互式工具并直观地将数据分析结果交付给用户,已成为数据应用开发的核心需求。 无论是企业内部的决策支持系统,还是面向公众的数据可视化平台,都需要一种高效且灵活的开发方式。 Plotly和Streamlit ...
title: 多数据库迁移的艺术:Alembic在复杂环境中的精妙应用 date: 2025/05/11 00:35:52 updated: 2025/05/11 00:35:52 author: cmdragon excerpt: 现代Web应用中,多数据库场景包括主从架构、多租户系统、混合数据库 ...
Python 3.14.0 稳定版将于 2025 年 10 月正式发布,目前已进入 beta 测试阶段。这意味着在往后的几个月里,3.14 的新功能已冻结,不再合入新功能(除了修复问题和完善文档)。 3.14 正好是圈周率 π 的前几位,所以我们将要迎来的其实是一个“圆满”的版本 本文想梳理这个 ...
什么是左值引用和右值引用 可取地址的是左值,不可取地址的是右值。 左值引用是借用,右值引用是接管。 C++ move 的作用和原理? 核心作用:将对象的资源所有权从一个对象“转移”到另一个对象,避免不必要的深拷贝,提高程序性能。 原理:std::move 只是类型转换工具,不会实际移动数据,真正的移 ...
小伙伴们,你们好呀,我是老寇,跟我一起学习使用Vertx实现MQTT-Server 实现MQTT-Server【响应式】 vertx-mqtt地址 实现思路 1.启动MQTT Server并绑定很多端口记录到缓存,服务注册到Nacos,通过接口的方式获取IP和端口【负载均衡】 2.MQTT Clie ...
前言 sensitive-word-admin 最初的定位是让大家知道如何使用 sensitive-word,所以开始想做个简单的例子。 不过秉持着把一个工具做好的原则,也收到很多小伙伴的建议。 v2.0.0 在 ruoyi-vue(也非常感谢若依作者多年来的无私奉献) 的基础之上,对整体 UI 进 ...
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 分享了 12 篇文章,12 个开源项目 以下是本期摘要: 文章&教程 ① Py ...
在数据分析的世界中,数据处理与可视化是密不可分的两个环节。 Pandas作为Python数据处理的核心工具,以其强大的数据清洗、转换和分析能力,成为数据科学家和分析师的必备利器; 而Plotly则是交互式可视化的佼佼者,能够将复杂的数据以直观、动态的方式呈现出来。 当我们将Pandas与Plotly ...
title: 数据库事务回滚:FastAPI中的存档与读档大法 date: 2025/05/10 00:18:52 updated: 2025/05/10 00:18:52 author: cmdragon excerpt: 事务回滚机制确保数据库操作的原子性,适用于需要保持数据一致性的场景,如银行 ...
RabbitMQ介绍 RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址: Messaging that just works — RabbitMQ 接下来,我们就学习它的基本概念和基础用法。 安装 在安装命令中有两个映射的端口: 15672:RabbitMQ提供的管理控制台的 ...
大家好,我是R哥。 这次要分享的,是一个让人既感动、又佩服、又励志的面试逆袭故事。 这个兄弟我管他叫小方吧,双非本科、30+、非科班出身,之前一直在一线城市打拼,过着租房、加班、通勤三点一线的生活,虽然努力、踏实,也算混得还可以。 但是,在外面呆久了,家里长辈年龄都大了,他突然意识到:不能再留在一线 ...
程序中有3个线程,主线程A创建一个文本,每隔6s获取一次系统时间并写入到该文本中,另外两个线程B和C分别从文本中读取当前的时间和日期,子线程B输出系统时间”hh:mm:ss”,子线程C输出系统日期”2025年05月9日”,使用读写锁实现互斥。 /*************************** ...
title: Alembic迁移脚本:让数据库变身时间旅行者 date: 2025/05/09 13:08:18 updated: 2025/05/09 13:08:18 author: cmdragon excerpt: Alembic 是一个用于数据库迁移的工具,通过迁移脚本记录数据库结构的变化 ...
使用 Spring Boot 实现 Excel 导出 + 邮件异步发送功能,解决接口阻塞问题 一、背景介绍最近我在开发一个跑团管理系统的数据导出功能,需求是将用户查询的成员信息、跑量统计等数据导出为 Excel 文件,并通过邮件自动发送至指定邮箱,而非让用户手动下载文件。虽然功能逻辑看起来不复杂,但 ...
正文 今天怒花 300 多块。 买了些护肤品。买了防晒和面霜。前两天做了蛮久的功课,决定挑哪一大类的产品,今天就是在这个大类的产品里面挑比较安全、适合自己皮肤、便宜价位、产品间协同效果、成分安全的产品了。 感觉都挺花时间…… 买防晒的时候有一个比较有意思的事情,美丽修行上有一个跟自己皮肤匹配很好、很 ...
前言 大家好,我是小徐啊。我们在开发Java应用的时候,经常是需要和PDF文档打交道的。 这极大地帮助我们提高了开发效率。 今天,小徐要来聊一聊,如何利用工具,将pdf文档压缩大小,方便我们上传,最重要的是,这是完全免费的。一起来看下吧! 如何压缩pdf文件大小,完全免费? 首先,我们打开微信,在搜 ...
一、背景与需求 在云存储场景中,数据安全是核心需求之一。MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,确保即使存储服务器被攻破,攻击者也无法获取明文数据。本文将详解如何通过Java实现MinIO文件的加密上传与解密下载,结合AES对称加密算法和BouncyCas ...
pthread_create函数 此函数可以创建一个线程 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); //thread:该参 ...