- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 Spring Boot事务与AOP顺序问题:如何确保消息发送在数据库提交之后
我们的注解也是一个AOP切面。当Spring创建代理时,会将多个切面组合成一个调用链。默认情况下,多个AOP切面的执行顺序是不确定的。如果我们的切面在切面内部@Transactional 开始↓@SendMessage 开始(此时事务未提交)↓执行业务方法(如 save user)↓@SendMessage 结束(发送MQ消息) ← 消息已发出!↓@Transactional 结束(此时才真正提交事务到数据库)结果:MQ消息已经发出,但数据库事务还未提交,消费者当然查不到数据!概念说明。
2025-09-25 16:26:11
632
原创 设计模式探秘:行为型模式——掌控对象间的协作与通信
在软件开发中,对象并非孤立存在,它们需要相互通信、协作来完成复杂的任务。正是专注于。它们关注的是“”以及“”,旨在提高系统的灵活性、可扩展性和可维护性,让对象间的交互更加清晰、解耦。今天,我们将深入探讨十一种经典的(以及一个重要的类行为模式),理解它们如何优雅地解决对象协作中的常见问题。
2025-08-27 15:56:26
1080
原创 设计模式探秘:结构型模式——构建灵活高效的代码骨架
在软件开发的世界里,我们常常面临一个核心挑战:如何将不同的类和对象组合起来,形成更大、更复杂的结构,同时又能保持代码的。”,而不是“做什么”。这些模式通过继承或组合来实现接口的统一、功能的扩展或复杂结构的简化。就如同一位经验丰富的建筑师,为我们提供了经过验证的、优雅的“组合蓝图”。今天,我们将深入探讨七种经典的结构型模式,理解它们的精髓和适用场景。直接硬编码组合往往导致代码僵化、难以修改和扩展。结构型模式的核心思想是。
2025-08-27 15:56:11
936
原创 设计模式探秘:创建型模式——掌控对象的诞生
产品族的工厂”。提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。当需要创建一系列相关的产品对象(属于同一个产品族),而客户端不依赖于这些对象的具体类时。它确保创建的是一套完整且兼容的产品。家具店。你需要为客厅配一套家具(沙发、椅子、桌子)。你可以选择“现代风格”或“古典风格”的家具。抽象工厂()接口定义了创建的方法。和是具体的工厂,它们分别生产现代风格和古典风格的一整套家具。你选择一个工厂,就能得到风格统一的一套家具。定义一个抽象工厂接口(),声明创建一系列相关产品的方法(如。
2025-08-27 15:55:55
786
原创 揭秘低秩矩阵:数据背后的“简约之美”
简单来说,低秩矩阵意味着一个庞大的数据集,其实是由少数几个“基本模式”或“核心特征”组合而成的。本文将通过几个具体、生动的例子,带您深入理解低秩矩阵的本质、性质及其广泛的应用。低秩矩阵意味着,尽管矩阵看起来有很多行和列(数据点很多),但这些数据点实际上是由少数几个“基本模式”线性组合而成的。在数据科学、机器学习和信号处理等领域,“低秩矩阵”是一个核心且强大的概念。最常用的方法是把矩阵变成“阶梯形”(像楼梯一样),然后数一数有多少条“非零”的行(不是全0的行)。去消掉第二行和第三行的第一个数。
2025-07-29 11:26:31
369
原创 QLoRA学习笔记
QLoRA通过创新量化技术实现高效微调:采用4-bit NF4非均匀量化优化神经网络权重分布,配合分块量化适应不同区域特征;引入双重量化技术,对权重和量化参数分别压缩;保留LoRA微调机制,仅更新低秩适配矩阵。关键技术包括基于正态分布的动态区间划分,以及"量化套娃"设计——先以4-bit量化权重,再以8-bit压缩量化参数,在保证精度前提下显著降低内存占用,使大模型能在消费级硬件上高效微调。
2025-07-29 09:23:56
747
原创 LoRA(Low-Rank Adaptation)学习笔记
LoRA(低秩适配)是一种高效的大模型微调方法,通过冻结原始参数并引入低秩矩阵进行增量更新。其核心步骤包括:1)识别目标权重矩阵;2)构建两个低秩矩阵A和B(维度d×r和r×d);3)计算低秩更新ΔW=AB;4)叠加到原始权重。这种方法显著降低计算成本(如1024维模型仅需训练16K参数),保持模型性能的同时避免灾难性遗忘。代码实现展示了LoRA层的构造和应用,验证了其在文本分类等任务中的有效性,能以0.1%参数量达到全参数微调的效果。
2025-07-29 08:54:21
663
原创 sklearn 随机森林进行数据预测
数据集:https://download.youkuaiyun.com/download/SpecialRiot/85339262https://download.youkuaiyun.com/download/SpecialRiot/85339262根据上图的目录结构放置数据集后执行下面的代码。from sklearn.ensemble import RandomForestRegressorimport pandas as pdfrom sklearn.model_selection import .
2022-05-11 07:28:05
2275
原创 tensorflow2.8生成TFRecord 文件
tensorflow中文官网:关于TensorFlow | TensorFlow中文官网TFRecord 文件是一种用来存储一串二进制 blob 的简单格式。通过将多个示例打包进同一个文件内,使用TFRecord 文件可以使得数据信息得到复用。也可以提高性能。import pathlibimport tensorflow as tfdata_root = pathlib.Path("需要读取图片的根目录")all_image_paths = list(data_root.glob('*/*
2022-03-26 01:46:10
1383
原创 使用Python本地运行Spark获取中文文章词频TopN
1.环境准备在Windows下使用Pycharm运行Spark代码_SpecialRiot的博客-优快云博客2.代码实现分词使用的jieba分词框架,通过分词后进行wordCount操作再对value进行排序,截取前N个。from pyspark import SparkConf,SparkContextimport jiebadef main(sc): textFile = sc.textFile("./word.txt") #分词 一行变多行
2022-03-07 17:02:37
1779
原创 基于Spark的中文文章词频统计
1.中文分词中文分词选用的是Ansj框架。分词部分使用Java语言封装,由Spark中的flatMap算子调用。分词后根据词性做了筛选。package com.ahn.spark;import org.ansj.domain.Result;import org.ansj.domain.Term;import org.ansj.splitWord.analysis.ToAnalysis;import java.util.*;public class AnsjTest {
2022-02-25 20:00:34
2555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3