- 博客(526)
- 资源 (19)
- 收藏
- 关注

原创 【数据库】MySQL的卸载
【前言】MySQL的卸载是个很头疼的问题,我们常常会因为卸载不干净导致重新安装无法进行。MySQL的卸载无形中浪费了我们很多宝贵的时间,下面是我卸载的全过程、感觉还是挺实用的。第一步:打开控制面板、找到MySQL,将其卸载。第二步:删除安装目录下的的my.ini文件及所有文件。第三步:Windows +R 运行“regedit”文件,打开注册表编辑器。1、
2016-05-28 22:48:20
1736
5

原创 没有伞的孩子必须努力奔跑!
想想自己也不小了,终将会迈入社会。也许这一刻来的比预想的稍早一些,但这是我们必须经历的!一个人如果没有自己的思想,那么这个人可能永远也不会长大。因为我们不可能永远生活在别人的臂膀下。一个有想法的人不一定能够成功,但我坚信一个有所作为的人必定是有思想的人(对各种事情有自己独特的见解)。当踏出校园的那一刻,我们也曾感到我们在这个社会上是如此渺小的一部分。所有的事情都得自己解决,社会
2015-10-15 15:44:30
3181
34
转载 Dify知识库分段模式
在AI应用中,知识库的分段与数据清洗是至关重要的一步。通过合理的分段方式,不仅能提升LLM(大语言模型)对内容的检索效率,还能显著提高回答的准确性和全面性。今天,我们就来聊聊知识库的两种主要分段模式——通用模式和父子模式,以及它们各自的特点和适用场景。
2025-03-26 13:58:26
325
原创 Milvus 与 Spring Boot 集成
Spring Boot 与 Milvus 的基本集成。:实际生产环境需要创建索引(如IVF_FLAT):建议使用连接池管理客户端连接。性能优化(批量操作、异步处理):建议添加全局异常处理。集合管理(创建/删除)REST API 接口。
2025-03-24 16:12:00
351
转载 SpringBoot集成Milvus
Milvus是一款向量数据库,主要用于在大模型领域做向量查询的相关操作。milvus在之前的版本中其实是存在一些弊端的,尤其是在一些类似于mysql的查询方面,有一些缺点,这里简单唠叨几句。首先milvus不支持多个向量字段,其次milvus的模糊匹配只支持前缀匹配,再次milvus不支持排序。不过这些功能在最新版的milvus中都已经解决了。但是我还没来得及体验最新的版本,所以不知道支持情况如何。
2025-03-24 14:47:37
63
转载 你还不知道什么是向量数据库吗?今天一文让你搞懂!结合大模型Agent,简直不要太好用!
向量数据库的核心是把文本转换为向量,然后存储在向量数据库中,并提供向量相似性检索当用户输入问题时,将问题也转化为向量,在向量数据库中查找最相似的上下文向量,最后将文本返回给用户。当有一份文档需要 GPT 处理时,假设这份文档是客服培训资料或操作手册,可先将这份文档的所有内容转化为向量,并存储到向量数据库中。然后当用户提出相关问题时,把用户的搜索内容转换为向量,在向量数据库中搜索最相似的上下文向量,再返回给 GPT。
2025-03-18 09:41:11
80
转载 京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
MVCC机制的全称为,即多版本并发控制。MVCC主要是为了提升数据库并发性能而设计的,其中采用更好的方式处理了读-写并发冲突,做到即使有读写冲突时,可以实现并发执行,从而提升并发能力,确保了任何时刻的读操作都是非阻塞的。在众多的MySQL开源存储引擎中,几乎只有InnoDB实现了MVCC机制,其他的存储引擎如:MyISAM、memory等存储引擎中并未实现MVCC。
2025-02-18 16:30:58
24
转载 在 SpringBoot 项目中如何动态切换数据源、数据库?(可直接CV)
本文参考若依源码,介绍了如何在SpringBoot项目中使用AOP和自定义注解实现MySQL主从数据库的动态切换,当从库故障时,能自动切换到主库,确保服务的高可用性。如果服务器搭建的是一主多从多个mysql数据源,主服务器用来读。从服务器用来写。此时你在代码层面用注解指定了一个增删改方法到从数据源,但是碰巧此时从数据源失效了,那么就会自动的切换到其它服务器。
2025-02-08 08:34:31
60
转载 美团动态线程池,真香啊!
在 Java 开发中,想要提高系统性能,线程池已经是一个 90%以上的人都会选择使用的基础工具项目中可能会创建很多线程池,既有 IO 密集型的,也有 CPU 密集型的,但线程池的参数并不好确定;需要有套机制在运行过程中动态去调整参数线程池运行过程中的各项指标一般感知不到;需要有套监控报警机制在事前、事中就能让开发人员感知到线程池的运行状况,及时处理配置变更需要及时推送到客户端;需要有高可用的配置管理推送服务,配置中心是现在大多数互联网系统都会使用的组件,与之结合可以大幅度减少开发量及接入难度简介。
2025-01-14 09:07:15
121
转载 seata的部署和集成
首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html。
2025-01-13 17:00:55
93
原创 接口开发不用写Controller、Service、Dao、Mapper、XML、VO,全自动生成
magic-api 是一个基于 Java 的接口快速开发框架,编写接口将通过 magic-api 提供的 UI 界面完成,自动映射为 HTTP 接口,无需定义 Controller、Service、Dao、Mapper、XML、VO 等 Java 对象即可完成常见的 HTTP API 接口开发。访问 http://localhost:9999/magic/web 进行操作文档地址:https://ssssssss.org在线演示:https://magic-api.ssssssss.org。
2025-01-07 17:48:37
380
转载 3分钟理清QPS、TPS、RT、吞吐量以及它们直接的关系
如在手机上打开淘宝,在t1时刻点击商品查询按钮,客户端请求服务器获取商品数据然后客户端展示商品信息结束的时刻t2为止,那么t2-t1的时间间隔就是系统RT。RT的数值大小直接反映了系统的快慢。如淘宝上下单商品的时候,每当用户下单请求被服务器接受到之后,服务需要保存订单、扣减商品库存、确认支付等等这一些列的操作都完成之后并成功返回给客户端的过程,这就构成了一次事务。QPS是一个非常重要的指标,在618电商平台在大促期间,服务器需要处理大量用户请求,我们可以通过服务器的QPS来评估服务器的处理能力。
2024-10-30 15:42:48
223
转载 程序员必须了解的消息队列之王——Kafka
Kafka 是由 Apache 软件基金会开发的一个开源流处理平台。Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka 是一个分布式的流处理平台。
2024-10-29 16:48:22
189
转载 多个Kafka消费者如何同时消费相同Topic下的相同Partition的数据?
看似一个简单的问题,竟然把这位读者问懵了!今天,我们就一起来说说这个面试题,好了,开始今天的主题。
2024-10-29 15:29:02
616
转载 希音面试:Redis脑裂,如何预防?你能解决吗?(看这篇就够了)
Sentinel 任务二:切换主库- Sentinel 任务三:通知- 4.3:master故障转移的 总体流程- 4.4:哨兵模式的 Sentinel 集群脑裂- 4.5:哨兵模式下的 redis master脑裂?脑裂(Split-Brain)是一个形象的比喻,好比“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”。在分布式系统中,因为网络分区或节点故障导致节点之间的通信断开,进而导致数据一致性问题。
2024-10-29 10:05:05
163
转载 网易一面:Eureka怎么AP?Nacos既CP又AP,怎么实现的?
Eureka 使用 Peer to Peer 模式进行数据复制。Eureka 通过 http header就是 HEADER_REPLICATION 解决循环复制问题。Eureka 通过 lastDirtyTimestamp 解决复制冲突。Eureka 通过心跳机制实现数据修复。Distro 协议是 Nacos 针对临时实例数据开发的⼀致性协议。数据存储在缓存中,并在启动时进行全量数据同步,定期执行数据校验。遵循 Distro 协议的设计理念,每个 Distro 节点均能接收读写请求。
2024-10-29 09:15:08
94
原创 Kafka原理以及分区分配策略剖析
偏移量是一种元数据,它是一个不断递增的整数值,在创建消息时,Kafka会把它添加到消息里。index文件记录的是数据文件的offset和对应的物理位置,正是有了这个index文件,才能对任一数据写入和查看拥有O(1)的复杂度,index文件的粒度可以通过参数log.index.interval.bytes来控制,默认是是每过4096字节记录一条index。这种分配方式明显的一个问题是随着消费者订阅的Topic的数量的增加,不均衡的问题会越来越严重,比如上图中4个分区3个消费者的场景,C0会多分配一个分区。
2024-10-28 15:00:31
1280
转载 【面试被虐】游戏中的敏感词过滤是如何实现的?
今天主要将了 trie 树以及 trie 树的一些应用,还要就是如何通过 trie 树来实现敏感词的过滤,至于代码的实现,我这里就不给出了,在实现的时候,为了防止这种”麻 痹"或者“麻¥痹”等,我们也要对特殊字符进行过滤等,有兴趣的可以去实现一波。
2024-10-28 08:54:55
54
原创 Mysql索引结构前缀匹配原理
通过B+树索引的层次结构,查询优化器可以高效地定位到以John开头的叶子节点,从而加速前缀匹配查询。对于10个汉字的字符串,B+树索引的定位过程与较短字符串类似,但需要考虑更长的前缀匹配。查询优化器可以根据字符串的顺序,高效地定位到以特定前缀开头的叶子节点,从而加速前缀匹配查询。
2024-10-25 08:38:40
1000
转载 SpringBoot 实现动态切换数据源,这样做才更优雅!
这两个方法,翻看源码我们会发现其实就是在使用ThreadLocal时使用了栈,这样的好处就是能使用多数据源嵌套,这里就不带大家实现了,有兴趣的小伙伴可以看看Mybatis-plus中动态数据源的源码。上述代码已经实现了添加数据源的方法,那么我们来模拟通过从数据库表中添加数据源,然后我们通过调用加载数据源的方法将数据源添加进数据源Map中。通过执行结果,我们通过@DS也进行了数据源的切换,实现了Mybatis-plus动态切换数据源中的通过注解切换数据源的方式。来移除当前线程已设置的数据源。
2024-10-23 09:05:58
358
转载 面试官:单例Bean一定不安全吗?
默认情况下,Spring Boot 中的 Bean 是非线程安全的。这是因为,默认情况下 Bean 的作用域是单例模式,那么此时,所有的请求都会共享同一个 Bean 实例,这意味着这个 Bean 实例,在多线程下可能被同时修改,那么此时它就会出现线程安全问题。Bean 的作用域(Scope)指的是确定在应用程序中创建和管理 Bean 实例的范围。也就是在 Spring 中,可以通过指定不同的作用域来控制 Bean 实例的生命周期和可见性。
2024-10-20 16:51:56
53
转载 Mybatis的一级缓存与二级缓存
一级缓存是SqlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的SqlSession之间的缓存数据区域是互相不影响的。也就是他只能作用在同一个SqlSession中,不同的SqlSession中的缓存是互相不能读取的。一级缓存的工作原理图解:用户发起查询请求,查找某条数据,SqlSession先去缓存中查找,是否有该数据,如果有,读取;如果没有,从数据库中查询,并将查询到的数据放入一级缓存区域,供下次查找使用。但。
2024-10-20 16:37:42
40
转载 MySQL原理-Join原理
若被驱动表连接字段有索引:join算法使用,若开启mrr和BKA,则用的是BKA算法若被驱动表连接字段无索引:join算法使用一般选取小表作为驱动表,小表是真实小:连表操作时的一块内存,可以通过调整MRR优化:回表操作是一个主键回表一次,无批量主键回表操作。MRR用将主键排好序后回表将磁盘随机读转为顺序读,从而提升速度。
2024-10-20 09:20:42
49
转载 每日一学:Redis主从、哨兵、 Cluster集群一锅端!
捡田螺的小男孩今天跟小伙伴们一起学习Redis的主从、哨兵、Redis Cluster集群。Redis主从Redis哨兵Redis Cluster集群。
2024-10-18 08:20:33
94
转载 Kafka零拷贝技术-为什么那么快?
零拷贝技术作为一种优化数据传输的方法,通过减少数据在内存中的拷贝次数和上下文切换的次数,显著提升了数据传输的效率。DMA技术的引入进一步提高了数据传输的速度和系统的并发处理能力。在同样的硬件条件下,传统文件传输和零拷拷贝文件传输的性能差异,你可以看到下面这张测试数据图,使用了零拷贝能够缩短 65% 的时间,大幅度提升了机器传输数据的吞吐量。在这个过程中,数据从硬盘读取到内核缓冲区后,通过mmap映射到用户空间的内存区域,然后直接写入到socket中,避免了数据从内核缓冲区到用户空间缓冲区的拷贝操作。
2024-10-17 17:02:47
167
转载 MySQL 中 聚集索引、非聚集索引、覆盖索引、索引下推 到底是什么
回表查询主要针对于非主键索引的情况下,在主键索引中叶子节点包含了主键和数据行信息。但是非主键索引的叶子节点就不是包含主键和数据行信息了,而是索引和该数据的主键ID,所以要拿到完整的行信息,就需要再拿着主键去主键索引中查询一次获得数据,这个过程就叫做回表查询。了解到这里就可以先来看下聚集索引和非聚集索引了。上面讲述的 聚集索引 和 非聚集索引主要关注点在单索引上的设计不同,而 覆盖索引 和 索引下推,则会关注到 联合索引 或 多个索引 的情况下。
2024-10-17 09:13:40
77
转载 5分钟带你了解RabbitMQ的(普通/镜像)集群原创
让我们深入探讨RabbitMQ的集群配置,了解各种集群模式的利弊。本次讨论的重点是帮助您快速理解RabbitMQ集群的运作方式,以及选择最适合您需求的模式。好的,话不多说。在RabbitMQ中,即使只有一个节点,该节点的服务也会被作为一个集群来处理。这意味着单节点系统也遵循集群架构的规范,确保一致性和可扩展性。而多节点的集群有两种方式:普通集群和镜像集群(也称主从集群)。通过本文我们深入了解了RabbitMQ的集群模式及其优缺点。无论是普通集群还是镜像集群,都有其适用的场景和局限性。
2024-10-16 10:48:43
70
原创 Mybaits系列全解
Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件。Mybatis系列全解(四):全网最全!Mybatis系列全解(六):Mybatis最硬核的API你知道几个?Mybatis系列全解(三):Mybatis简单CRUD使用介绍。Mybatis系列全解(二):Mybatis简介与环境搭建。Mybatis系列全解(八):Mybatis的动态SQL。Mybatis系列全解(七):Dao层两种实现方式。Mybatis系列全解(一):手写一套持久层框架。
2024-10-14 15:03:47
294
转载 如何实现Redis和Mysql中数据双写一致性-异步Canal+延迟双删
这种方案下,在数据库更新成功后到删除Redis缓存数据之前的这段时间中,其他线程读取的数据都是旧数据,等Redis删除缓存后会重新从数据库中读取最新数据同步到Redis,这样可以在一定程度上保证数据的最终一致性。直到Redis中缓存的数据过期之后才可以从数据库中获取最新的到Redis中。经过上述的过程就导致了Redis的数据和数据库中的数据不一致了,即就是Redis中存放的依据是老数据。在redis一般写的场景下对数据的更新操作是不推荐使用的,推荐使用删除缓存数据的操作,因为删除操作的效率更高。
2024-09-12 16:41:38
194
转载 Mysql一张表可以存储多少数据
在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB。2:一个页为16kb = 16 * 1000 byte。1: 主键索引为ID,ID假设为bigInt, 则需要8byte的字节存储,加上指向子节点的指针6byte(固定)。4:第一层是一个页,第二层为1170个页。因为最后一层是存储数据的,假设每行数据为1kb。也就是第二层,可以存储 1170 * 1170 = 1 368 900节点。
2024-09-11 09:15:57
272
转载 Mybatis的一级缓存与二级缓存
一级缓存是SqlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的SqlSession之间的缓存数据区域是互相不影响的。也就是他只能作用在同一个SqlSession中,不同的SqlSession中的缓存是互相不能读取的。一级缓存的工作原理图解:用户发起查询请求,查找某条数据,SqlSession先去缓存中查找,是否有该数据,如果有,读取;如果没有,从数据库中查询,并将查询到的数据放入一级缓存区域,供下次查找使用。但。
2024-09-04 10:00:13
208
转载 SpringBoot 启动流程
被标注的类等于在Spring的XML配置文件中(applicationContext.xml),装配所有bean事务,提供了一个Spring的上下文环境。回顾整体流程,Springboot的启动,主要创建了配置环境(),并基于以上条件,在容器中开始实例化我们需要的Bean,至此,通过SpringBoot启动的程序已经构造完成。注解,其中Registrar类的作用是将启动类所在的包下的所有子包组件扫描注入到spring容器中。文件中找到所有的对应配置类,然后将这些自动配置类加载到spring容器中。
2024-09-04 09:30:32
142
原创 为什么HashMap会产生死循环?
HashMap 死循环发生在 JDK 1.7 版本中,形成死循环的原因是 HashMap 在 JDK 1.7 使用的是头插法,头插法 + 链表 + 多线程并发 + HashMap 扩容,这几个点加在一起就形成了 HashMap 的死循环,解决死锁可以采用线程安全容器 ConcurrentHashMap 替代。
2024-09-01 16:59:47
859
jce_policy-8.AES加密版本.zip
2021-04-22
百度分布式id 代码uid-generator
2020-04-26
SpringBoot-Demo-master.zip
2019-07-29
Java多线程编程技术
2018-03-26
整合spring和mongodb用到的包和配置文件
2017-04-17
UML建模工具JUDE
2015-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人