- 博客(79)
- 收藏
- 关注
原创 敏感词算法对比
时同时匹配多个模式串(如敏感词),敏感词算法dui由 Alfred V. Aho 和 Margaret J. Corasick 于 1975 年提出。(类似 KMP 算法的部分匹配表),解决了 Trie 树在失配时需要回溯的问题,大幅提升了多模式匹配效率。:KMP 适合单模式匹配(如查找单个关键词),Aho-Corasick 是多模式场景的更优解。时,Aho-Corasick 是最优选择之一,广泛应用于内容安全、信息检索等领域。的优化,解决了多次遍历文本的问题,效率提升显著。:当需要从文本中同时匹配。
2025-08-10 12:27:07
660
原创 敏感词过滤一
优化后的SimpleTrie可在保持功能清晰的前提下,通过数组替代哈希表迭代替代递归动态扩展功能等方式,显著提升性能和实用性。具体优化方向可根据业务场景选择(如高频检测优先优化性能,动态更新场景优先支持增删方法)。
2025-08-10 12:12:09
620
原创 本地消息表
3. 关键表设计:本地消息表至少包含id、businessKey(业务唯一标识)、topic(消息主题)、content(消息内容)、status(状态:待发送/已发送/已完成/失败)、retryCount(重试次数)等字段。在预扣库存的本地事务中,同步写入一条“待发送”状态的消息到本地消息表,确保“库存扣减”和“消息记录”要么同时成功,要么同时失败(通过数据库事务保证原子性)。// 消息内容(订单信息)在创建支付单的本地事务中,同步写入“待发送”消息到本地消息表,确保“支付单创建”和“消息记录”原子性。
2025-08-05 10:03:39
270
原创 商品中台数据库设计
available_quantity int 可售库存(规则: - 虚拟货品SKU:= virtual_quantity - 实体货品SKU:= 货品可用库存 ÷ conversion_ratio(向下取整))parent_product_id int 父货品ID(关联product.id,仅实体组合装)child_product_id int 子货品ID(关联product.id,仅实体货品)channel_category_id int 渠道类目ID(关联category.id)
2025-08-02 21:55:11
726
原创 【大模型开发】 一文搞懂Embedding工作原理
《不懂Embedding,何以懂AI?》摘要:本文深入浅出解析Embedding技术的核心原理,涵盖三大领域:TextEmbedding通过语义向量转换文字信息;ImageEmbedding将视觉特征编码为数字表示;VideoEmbedding则综合时空特征建模。文章系统梳理了不同模态数据的向量化方法,为理解AI底层技术提供关键视角
2025-08-01 10:00:37
201
原创 在2G大小的文件中,找出高频top100的单词
将 2GB 的大文件分割为 2048 个大小为 512KB 的小文件,采用流式读取方式处理,避免一次性加载整个文件导致内存溢出。初始化一个长度为 2048 的哈希表数组,用于分别统计各个小文件中单词的出现频率。利用多线程并行处理机制遍历所有 2048 个小文件,对每个文件中的单词执行哈希取模运算(),并通过的方式将单词频率累加到对应的哈希表中。遍历这 2048 个哈希表,对每个哈希表中的单词按频率排序,将频率排名前 100 的单词存入一个小顶堆。
2025-07-25 13:58:43
376
原创 Java计算两个字符相似度的几种常用方法
它也适用于处理较长的字符串,但在比较两个字符串之间的相似度时,需要先将其向量化,因此相对复杂一些。Jaccard相似度:Jaccard相似度算法计算集合的交集和并集的比值,是一种基本的相似度度量。在选择最高效和准确的字符串相似度算法时,需要考虑多个方面,如算法的复杂度、字符串长度、算法的适用性等。用于计算两个集合之间的相似度,可以将字符串视为字符的集合,计算它们的交集和并集的比值。此外,对于大规模的字符串匹配需求(如搜索引擎),更复杂的算法(如基于索引的搜索算法)可能更适合,例如倒排索引等。
2024-04-10 09:44:32
1464
1
原创 Netty
1.1 概述Netty是一个基于NIO的客户端服务器框架,用于快速开发可维护的高性能协议服务器和客户端。它的设计目标是提供易于使用的API,同时保持高度的灵活性、性能、可靠性和可扩展性。Netty的核心组件包括Channel、EventLoop、ChannelFuture和ChannelHandler,这些组件提供了一种简单而强大的方式来实现高效的网络通信。Netty还提供了各种各样的编解码器和处理器,使开发人员能够轻松地处理各种协议和数据格式。
2023-05-07 13:27:24
661
原创 按字符串分割工具类
public class SplitUtils { private static final String DEFAULT_PATTERN = "\\d+."; private static final int DEFAULT_LEN = 8; public static final String PUNCTUATIONS = ".,:;。!"; /** * * @param content 内容 * @return **/
2022-10-12 13:00:03
309
原创 两步验证Web安全工具类
两步验证应用【推荐】腾讯身份验证码 简单好用 AndroidAuthy 功能丰富 专为两步验证码 iOS/Android/Windows/Mac/Linux Chrome 扩展Google Authenticator 简单易用,但不支持密钥导出备份 iOS AndroidMicrosoft Authenticator 使用微软全家桶的推荐 iOS/Android1Password 强大安全的密码管理付费应用iOS/Android/Windows/Mac/Linux/ChromeOS...
2022-06-26 12:01:57
1398
原创 GeoHash工具类
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.geo.*;import org.springframework.data.redis.connection.RedisGeoCommands;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.s.
2022-05-03 13:17:01
811
原创 LRU本地实现
import java.util.LinkedHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * The LRU Cache * * @param <K> * @param <V> * @author lry */public class LruCache<K, V> extends LinkedHa.
2022-04-16 18:54:18
144
原创 获取类和接口上泛型类型
泛型import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class DefaultTargetType<T> { private Type type; private Class<T> classType; public Type getType() { return type; } public voi
2022-04-16 17:42:34
1464
1
原创 mybatisplus分页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import com.bao...
2022-03-04 13:11:19
197
原创 更新null
public interface CommonMapper<T> extends BaseMapper<T> { /** * 全量更新,不忽略null字段,等价于update * 解决mybatis-plus会自动忽略null字段不更新 * {@link com.baomidou.mybatisplus.extension.injector.methods.AlwaysUpdateSomeColumnById}...
2022-02-25 13:52:57
446
原创 MybatisPlus JSON格式handler
import com.alibaba.fastjson.JSONObject;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.MappedJdbcTypes;import org.apache.ibatis.type.MappedTypes;import java.sql.CallableStatement;imp.
2022-02-13 08:49:47
766
原创 下载json数据
HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDisposition(ContentDisposition.builder("attachment") .filename(templateExport.getTemplate().getName() + .
2022-02-13 08:45:01
761
原创 proto转java文件工具类
1.下载win proto工具类,链接如下https://objects.githubusercontent.com/github-production-release-asset-2e65be/23357588/07f4719e-398c-4cf7-a0c9-761e2f395ae9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220116%2Fus-east-1%2Fs3%2Faws4_
2022-01-16 12:01:29
1431
1
原创 PDF相关操作工具类
import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.awt.image.WritableRaster;import java.io.File;import java.io.IOException;.
2021-12-29 21:22:21
344
原创 上传下载工具类
import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.imageio.ImageIO;import javax.se.
2021-12-29 21:20:23
144
原创 Cookie工具类
import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Cookie工具类 * */.
2021-12-29 21:16:08
152
原创 word转pdf加水印以及替换内容
pom文件<!--依赖springboot-start中dependencyManagement的版本--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}&
2021-12-22 14:39:46
532
原创 pdf添加水印
import java.awt.FontMetrics;import java.io.*;import javax.swing.JLabel;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Element;import com.itextpdf.text.Rectangle;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pd
2021-12-22 14:17:04
229
原创 图片水印工具类
import java.awt.AlphaComposite;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.Image;import java.awt.RenderingHints;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;impor
2021-12-22 14:11:43
130
原创 多线程导入mysql 二
import com.hanxiaozhang.importexcelnew.ErrorInfoEntity;import com.hanxiaozhang.importexcelnew.SaveExcelNewService;import lombok.extern.slf4j.Slf4j;import org.springframework.transaction.annotation.Transactional;import java.util.List;import java.util.
2021-12-18 20:02:52
827
原创 多线程导入数据到mysql 一
List<DictOneDO> errorList = ImportExcelExecutor.execute(dictSaveExcelServiceImpl, list, 14); // List<DictOneDO> errorList = ImportExcelNewExecutor.execute(dictSaveExcelNewService, list, 14);
2021-12-18 19:58:31
819
原创 transationTemplate使用模板
@Autowired private TransactionTemplate transactionTemplate; public void test() { transactionTemplate.execute(i -> { try { //数据库操作 } catch (Exception e) { //打印日志 i..
2021-12-16 11:24:34
315
原创 前端element校验版本号格式
const validatorVersion = (rule, value:string, callback:Function) => {const reg = /^\d+.\d+.\d+$/;callback(reg.test(value)?undefined : 版本号格式不正确,正确格式为xx.xx.xx);}
2021-12-02 22:23:37
1082
1
java+springboot电子合同pdf模板生成,填充pdf表单,图片签名以及pdf签名
2022-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人