自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MichaelZ的博客

技术学习/日常问题记录。欢迎各位指正与建议

  • 博客(37)
  • 收藏
  • 关注

原创 03 | 事务隔离:为什么你改了我还看不见?

MVCC 是一种有效的并发控制机制,通过维护数据的多个版本,允许读写操作并发进行,从而提高了数据库的性能和吞吐量。MySQL 的 InnoDB 存储引擎通过 Undo Log 和 Read View 等机制实现了 MVCC,确保数据的一致性和隔离性。

2024-07-23 20:49:29 62

原创 02 | 日志系统:一条SQL更新语句是如何执行的?

最后提供一些两个日志参数的配置:在 MySQL 中,redo log 和 binlog 是两种重要的日志文件,用于事务恢复和数据复制。

2024-07-22 20:33:56 623

原创 01 | 基础架构:一条SQL查询语句是如何执行的?

MySQL 服务器收到一个查询请求后,会先去缓存查询是否存在,缓存通过 Key-Value 的形式存储,key 为查询的 sql 语句,value 为查询结果。但是缓存的设计非常鸡肋,因为查询缓存的失效非常频繁,只要有表的数据更新,那么这张表的查询缓存就会失效。比如 sql 的执行有多种方案,优化器需要选择一种最优效率的执行方案,连接器负责客户端和服务端的连接建立、获取权限、维护和管理连接。连接建立之后,若没有后续动作,则此连接出于空闲状态,通过。关闭缓存,当某个 sql 需要使用缓存时,可以显示的指定。

2024-07-09 23:01:39 285

原创 从 0 开始本地部署大语言模型

下载完成后,双击安装,什么都不需要勾选,直接下一步即可。系统环境变量名OLLAMA_MODELS,值就是你要把大模型安装的位置,这里我使用 G:\Ollama(换成你自己的)。接下来是安装 open-webui,有几种安装配置,ollama 安装在你的电脑、安装在不同的服务器上。我们在下拉框可以看到,不同的类型,需要不同的电脑磁盘空间,当然越大的,模型就越聪明。我的电脑-右键-属性中的高级系统设置找到环境变量。的内容,不同的系统下载 docker 的方式。选择你安装的模型,你可以安装多个,来回切换。

2024-05-25 16:53:05 496

原创 TCP 与 UDP 介绍

TCP适用于需要保证数据传输可靠性和顺序的应用场景,如文件传输和网页浏览。UDP适用于对实时性要求高但对数据可靠性要求不高的应用场景,如视频直播和在线游戏。

2024-05-20 14:09:30 1372

原创 MySQL中的ON DUPLICATE KEY UPDATE和REPLACE

在 MySQL 中,ON DUPLICATE KEY UPDATE 和 REPLACE 语句都可以用来处理插入数据时主键或唯一键冲突的情况,但它们在处理冲突的方式上有所不同。其中column1 = value1, column2 = value2, …表示需要更新的列和对应的新值。适用于完全替换冲突行的情况,包括所有列的值。选择使用哪种方法取决于具体的需求和预期的操作结果。适用于需要在冲突时更新指定列的值,而保留其他列的原始值的情况。表示要插入的列和对应的值。

2024-05-08 14:04:20 642

原创 SpringBoot Actuator未授权访问漏洞的解决方法

Spring Boot Actuator 是一个用于监控和管理 Spring Boot 应用程序的功能模块。它提供了一系列生产就绪的功能,帮助你了解应用程序的运行状况,以及在运行时对应用程序进行调整。Actuator 使用了 Spring MVC 来暴露各种 HTTP 或 JMX 端点,通过这些端点你可以获取到应用程序的运行信息,如健康状态、指标、线程 dump、环境变量等。健康检查:可以检查应用程序的运行状况,包括数据库连接、磁盘空间、服务状态等。指标收集。

2024-05-08 11:57:11 3044

转载 SpringBoot整合Spring Security + JWT实现用户认证

原文链接:https://blog.csdn.net/qq_44709990/article/details/123082560

2024-04-16 14:32:34 42

原创 mac执行 npm 命令报错:zsh command not found npm

若还是报错:zsh: command not found: npm。路径换成自己的即可,若不晓得具体安装路径的,可以使用。打开终端,查看是否安装 nodejs。用 brew 安装 nodejs。

2024-04-12 10:03:04 855

原创 SpringBoot 异步延时任务

这个方法会在Spring容器启动后,所有Bean都已经被创建和初始化之后被调用。这个方法的参数是一个字符串数组,通常包含命令行参数,但是你可以根据需要忽略这个参数。在 run 方法中启用线程循环从队列中获取数据,获取不到就阻塞线程,直到有数据为止。异步延时任务在日常工作中是比较常见的。定义一个静态变量DelayQueue,用于保存延时任务。延迟队列是 jdk1.5 提供的,核心是优先级队列。要求队列中的元素必须实现。

2024-04-11 20:24:32 763

原创 MySQL 系列之索引

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质: 索引是数据结构。InnoDB存储引擎支持以下几种常见的索引:B+树索引、全文索引、哈希索引,其中比较关键的是B+树索引。

2024-03-29 15:58:52 651

原创 Redis 系列之高可用

为了实现 redis 服务的高可用性,出现了主从模式、哨兵和集群。接下来我们一一介绍。

2024-03-28 18:02:08 718

原创 Redis 系列之持久化和内存淘汰策略

为了尽可能减少碎片清理对 Redis 正常请求处理的影响,自动内存碎片清理功能在执行时,还会监控清理操作占用的 CPU 时间,而且还设置了两个参数,分别用于控制清理操作占用的 CPU 时间比例的上、下限,既保证清理工作能正常进行,又避免了降低 Redis 性能。例如,Redis 申请一个 20 字节的空间保存数据,jemalloc 就会分配 32 字节,此时,如果应用还要写入 10 字节的数据,Redis 就不用再向操作系统申请空间了,因为刚才分配的 32 字节已经够用了,这就避免了一次分配操作。

2024-03-28 16:59:50 984

原创 Redis 系列之数据类型

Redis(Remote Dictionary Server)是一个开源的高性能键值数据库。与传统的关系型数据库不同,Redis的数据存储是基于内存的,因此在读取和写入数据时具有极高的速度。Redis支持多种数据类型,使其在不同的应用场景中都能发挥出色的性能。

2024-03-28 15:46:02 1081

原创 SpringCloud 系列之 OpenFeign

Feign是一个声明性web服务客户端。它使编写web服务客户端变得更容易。使用Feign创建一个接口并对其进行注释。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud添加了对Spring MVC注释的支持,以及对使用Spring Web中默认使用的HttpMessageConverter的支持。

2024-03-28 13:54:12 1028

原创 SpringCloud 系列之 LoadBalancer 负载均衡

Spring Cloud LoadBalancer是由SpringCloud官方提供的一个开源的、简单易用的客户端负载均衡器,它包含在SpringCloud-commons中用它来替换了以前的Ribbon组件。相比较于Ribbon,SpringCloud LoadBalancer不仅能够支持RestTemplate,还支持WebClient(WeClient是Spring Web Flux中提供的功能,可以实现响应式异步请求)服务器负载和客户端负载有什么区别?

2024-03-28 11:17:00 422

原创 SpringCloud 之版本选择与工程搭建注意事项

在搭建微服务工程时,各个组件之间的版本选择是非常重要,稍有不慎就会出现意想不到的问题,所以我们这篇文章就来聊聊如何选择版本。1. SpringCloud版本选择官网:https://spring.io/projects/spring-cloud#overviewgithub:https://github.com/spring-cloud/spring-cloud-releaseSpringCloud 版本SpringCloud 和 SpringBoot 版本对应关系2. SpringBoo

2024-03-28 10:43:50 781

原创 SpringCloud 系列之 gateway 网关

继承AbstractRoutePredicateFactory实现RoutePredicateFactory接口自定义断言类型必须以RoutePredicateFactory结尾新建类,名称以RoutePredicateFactory后缀,并且继承AbstractRoutePredicateFactory重写 apply 方法新建 apply 方法需要的静态内部类Config新增空参构造,调用 super重写shortcutFieldOrder方法,为了支持快捷方式。

2024-03-27 23:01:53 1006

原创 SpringBoot 系列之配置文件加载

在我们使用 SpringBoot 开发过程中,会在配置文件(application.properties 或者 application.yml)中写一些公共的配置,那么 SpringBoot 是如何加载配置文件的呢?

2024-03-27 18:04:37 991

原创 SpringBoot 系列之监听器

理论的学完了,我们看下在日常开发过程中,如何使用事件呢?监听所有事件、监听特定事件、自定义监听事件接下来我们使用自定义的监听器监听自定义的事件首先我们定义一个事件,需要继承ApplicationEvent然后定义自定义监听器@OverrideSystem.out.println("MyApplicationAllEventListener监听到事件:" + event);最后也是需要在 spring.factories 中注册的。发布自定义事件。

2024-03-27 15:49:23 1440

原创 SpringBoot 系列之自定义 starter

,在其他 Spring Boot 项目中,您只需添加对您的自定义 Starter 的依赖,并配置相关属性即可。例如,在 pom.xml 文件中添加:</</</</在其他项目中注入并使用 RedisService@Autowired。

2024-03-27 14:37:24 554

原创 SpringBoot 系列之自动装配的原理源码分析

SpringBoot 的核心就是自动装配,他致力于“约定优于配置”的原则,它通过提供默认的配置来减少开发者的配置工作。这意味着,多数情况下,开发者可以快速启动一个Spring应用,而不需要进行复杂的配置。

2024-03-26 20:47:13 1004

原创 SpringBoot 系列之前置知识

在我们学习 SpringBoot 原理和源码前,先了解下 SpringBoot 中用到的 Spring 注解,以便后续更好的理解 SpringBoot 原理。

2024-03-26 15:37:33 1235

原创 SpringBoot 系列之源码环境搭建

我们在学习Springboot之前,需要在本地搭建源码环境,首先从官网下载源码,然后本地用idea打开,编译。下面我们一步步搞定!!!以上,就是我搭建 springboot3.2.4 源码的过程,整体来说还是比较简单的。若你在此过程中遇到问题,欢迎留言讨论!

2024-03-26 11:17:48 519

原创 windows10 局域网共享文件夹

今天一个不是搞技术朋友突然找我问这样一个问题:如何在局域网内共享文件?本来我的第一反应是 svn?结果安装好 svn 服务后,朋友表示看不懂(因为他不是搞技术的,对计算机不太了解)。于是我就去搜索本地搭建云盘(PS:阿里云/百度云等,若想满足他的需求:大量的上传下载文件。则需要办理会员),搜到了几个本地云盘的搭建,但是还需要搞环境什么的,而且环境出问题了,朋友也不会搞,SO,怎么办呢?灵机一动,既然他是要求局域网,那么直接搞局域网windows文件共享就好了哇。Next,开动!!!!

2024-03-21 23:02:53 1443 1

原创 Spring Cloud OpenFeign 性能优化

OpenFeign 是 Spring 官方推出的一种声明式服务调用和负载均衡组件,在生产环境中我们可以按照业务需要按需进行配置调整以求达到最好的性能。

2024-03-17 15:32:05 756 1

原创 Spring事务回滚问题分析

根据情况二和情况五得知:在ServiceB中处理异常,无论ServiceA和ServiceB是否在同一个事务中,都不会回滚根据情况三得知:ServiceB不处理异常,ServiceA处理异常时,事务被标记成不可提交状态,故而数据都不能提交根据情况四得知:若想解决情况三的问题,ServiceA的数据正常入库,则需要设置成不属于同一事务即可。

2024-03-17 15:14:58 348 1

原创 docker desktop 搭建nacos+mysql(无需自定义网络)

创建数据库nacos。

2024-03-17 15:05:17 214 1

原创 k3s+rancher搭建

由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。k3s和rancher端口冲突,注意改端口。

2024-03-17 15:01:36 586 4

原创 k3s证书过期问题处理

k3s证书逻辑: k3s证书有效期默认是1年,如果证书已经过期或剩余的时间不足90天,则在重启k3s时就会自动轮转证书。但在之前的版本中,由于BUG(),会导致k3s重启无法自动轮转证书,此时则需要手动轮转证书;

2024-03-17 14:50:46 449 1

原创 MybatisPlus实现数据权限

MybatisPlus 是一款 Mybatis 的增强工具,它为 Mybatis 提供了丰富的查询接口,大大简化了数据库操作。MybatisPlus 具备代码生成器,支持一键生成 Entity、Mapper、Mapper XML、Service、Controller 等文件,有效提高开发效率。此外,MybatisPlus 还提供了分页插件、性能分析插件等,能够帮助开发者更好地优化数据库操作。

2024-03-17 14:35:40 3429 3

原创 工厂模式和策略模式区别以及使用

工厂模式(Factory Pattern)和策略模式(Strategy Pattern)都是软件设计中常用的行为型设计模式,它们在解决软件设计中的问题时,各有其特点和适用场景。

2024-03-16 21:15:20 3279 1

原创 策略模式

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。该模式让算法的变化独立于使用算法的客户。简单来说,策略模式就是定义一系列的算法,将每一个算法封装起来,并使它们可以互相替换。假设我们有一个购物车应用,需要根据不同的促销策略(如打折、满减等)计算订单的总价。我们可以使用策略模式来实现这个需求。3.2 具体策略3.3 创建一个 Context 类,用于使用策略context类的作用:提供了一个用于操作策略的上下文环境,

2024-03-16 21:04:26 558 1

原创 工厂方法模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式被分为了三种:(其中简单工厂模式被看作是工厂方法模式的一种特例)简单工厂模式(不属于GOF的23种经典设计模式)工厂方法模式抽象工厂模式至此,我们采用原始的方式实现了简单的支付系统 demo,并且程序可运行。那么上面的代码是否存在问题呢?

2024-03-16 20:05:37 828 1

原创 六大设计原则 (SOLID)

设计模式中主要有六大设计原则,简称为SOLID。​1、单一职责原则(Single Responsibitity Principle)​2、开放封闭原则(Open Close Principle)​3、里氏替换原则(Liskov Substitution Principle)​4、接口分离原则(Interface Segregation Principle)​5、依赖倒置原则(Dependence Inversion Principle)​6、迪米特法则(Law Of Demter)

2024-03-16 15:35:04 328

原创 UML 图-类图简介

类图(Class diagram)是模型的静态结构,展示了模型中类、类的内部结构以及与其他类的关联关系。

2024-03-16 14:50:10 498

原创 单例模式

单例是23中设计模式之一,保证一个类只有一个实例,并且对外提供统一的访问入口。是创建型模式。

2024-03-15 17:49:29 712 1

空空如也

空空如也

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

TA关注的人

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