06 2023 档案
摘要:要配置MySQL主从复制中的二进制日志传输,需要进行以下步骤: 确保主服务器的二进制日志功能已启用:在主服务器的配置文件(通常是 my.cnf 或 my.ini)中,找到并确认以下配置项已启用: log_bin = ON binlog_format = ROW log_bin 表示启用二进制日志功能
阅读全文
摘要:要解析和读取MySQL的二进制日志(binlog),可以使用一些工具和方法。 MySQL官方提供的工具:MySQL自带了一个名为mysqlbinlog的命令行工具,可以用于解析和读取二进制日志。通过执行以下命令,您可以查看二进制日志的内容: mysqlbinlog [options] [binlog
阅读全文
摘要:缓存穿透(Cache Penetration)是指在使用缓存时,对于一些不存在于缓存中的数据进行频繁访问,导致这些请求直接绕过缓存,查询数据库,并返回空结果。由于缓存无法命中,每次请求都需要经过数据库查询,这会增加数据库的负载压力,并可能导致缓慢的响应时间。 缓存击穿(Cache Breakdown
阅读全文
摘要:org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler 是 Spring 框架中的一个任务调度器,提供了基于线程池的任务调度和执行功能。 ThreadPoolTaskScheduler 是 TaskScheduler 接口的
阅读全文
摘要:分布式锁的实现方式介绍 分布式锁是一种用于分布式系统中实现互斥访问的机制。在分布式系统中,多个进程或线程可能同时访问共享资源,为了保证数据的一致性和正确性,需要使用分布式锁来实现资源的互斥访问。 分布式锁的基本原理是通过在分布式环境下协调各个节点之间的操作,确保同一时间只有一个节点可以获取到锁,从而
阅读全文
摘要:Nacos 提供了一组统一的 API 接口,用于进行服务注册与发现、配置管理、命名空间管理和健康检查等功能。以下是 Nacos 的主要 API 接口: 服务注册与发现 API: 注册服务:通过调用 /nacos/v1/ns/instance 接口注册服务实例。 取消注册:通过调用 /nacos/v1
阅读全文
摘要:@LoadBalanced和RestTemplate一起使用 在 Spring Cloud 中,@LoadBalanced 是一个注解,用于启用负载均衡功能。它可以应用于 RestTemplate 或 WebClient 实例,以实现对服务调用的负载均衡。 使用 @LoadBalanced 注解的步
阅读全文
摘要:Spring Cloud Nacos 提供了负载均衡的能力,以在服务调用时实现分布式系统中的负载均衡。下面是 Spring Cloud Nacos 负载均衡的详细说明: 在 Spring Cloud 中,负载均衡是通过 Ribbon 这个负载均衡器来实现的。而 Spring Cloud Nacos
阅读全文
摘要:Ant风格的路径匹配规则是一种常用的路径模式匹配规则,它基于Ant构建工具中使用的路径匹配规则。在Spring MVC中,Ant风格的路径匹配规则通常用于处理器映射器(HandlerMapping)中的URL匹配。 Ant风格的路径匹配规则包括以下几种模式: ?:匹配任意单个字符。 *:匹配任意数量
阅读全文
摘要:@ImportResource注解是Spring框架中的一个注解,它用于导入外部的XML配置文件。通过@ImportResource注解,可以将外部的XML配置文件加载到Spring的应用上下文中,从而使得这些配置文件中定义的Bean能够被Spring容器管理。 使用@ImportResource注
阅读全文
摘要:org.springframework.core.env.Environment接口是Spring框架的一部分,而不是Spring Boot的特定功能。它提供了一种统一的方式来访问应用程序的配置属性,无论这些属性是通过配置文件、命令行参数、环境变量还是其他来源设置的。 通过Environment接口
阅读全文
摘要:在Spring Boot中,@ConfigurationProperties注解用于将外部配置文件中的属性值绑定到Java类的字段或属性上。通过使用该注解,可以方便地将一组配置属性统一绑定到一个POJO类中,然后在应用程序中使用。 以下是@ConfigurationProperties注解的主要特点
阅读全文
摘要:在Spring Boot中,@PropertySource注解用于加载外部的属性源文件,将其作为配置文件来使用。该注解可以用于标记在Java类上,并指定要加载的属性源文件的位置。 使用@PropertySource注解可以很方便地将外部的属性文件加载到Spring的环境中,并可以通过@Value注解
阅读全文
摘要:springboot是如何做到根据配置的 spring profile 值来决定引用不同环境的application.yml 配置文件的? Spring Boot通过使用Spring框架的Profile功能,实现了根据配置的Spring Profile值来决定引用不同环境的application.y
阅读全文
摘要:Maven 的 maven-resources-plugin 插件是一个用于处理资源文件的插件。它在 Maven 构建过程中负责复制项目中的资源文件到生成的目标目录,使得这些资源文件可以被应用程序访问和使用。 该插件具有以下特点和功能: 复制资源文件:maven-resources-plugin 插
阅读全文
摘要:springboot项目里的包’spring-boot-dependencies‘依赖 我们一般是在项目的pom dependencyManagement标签里引入spring-boot-dependencies,或者根spring-boot-starter-parent里也是继承了它,也正是因为继
阅读全文
摘要:spring aop里的三种不同类型的自动代理介绍 Metadata autoproxying BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator Metadata autoproxying 介绍 在Spring AOP中,Metadata
阅读全文
摘要:在Spring AOP中,引入(Introduction)是一种特殊类型的通知,允许我们向现有的类添加新的接口和实现,而无需修改原始类的代码。引入提供了一种扩展现有类功能的方式,它允许我们在运行时为类动态地添加新的方法和属性。 通过引入,我们可以将新的行为添加到现有的类中,而无需继承该类或修改其代码
阅读全文
摘要:"幻读"是数据库事务隔离级别中的一种现象,它与不可重复读有些相似,但主要关注的是插入操作。 具体而言,幻读可以分为以下几个步骤: 事务A开始并执行了一个查询语句,返回了符合条件的数据结果集。 在此期间,事务B在同一个事务中对数据进行了插入操作,并提交了事务。 事务A再次执行相同的查询语句,发现返回的
阅读全文
摘要:"不可重复读"是数据库事务隔离级别中的一种现象,指的是在同一个事务内,多次读取同一行数据时,获取到的数据值发生了变化。 具体而言,不可重复读可以分为以下几个步骤: 事务A开始并执行了一个SELECT语句,读取了某行数据的字段值。 在此期间,事务B对该行数据进行了修改并提交了事务。 事务A再次执行相同
阅读全文
摘要:spring框架的BeanFactory Spring框架中的BeanFactory是一个核心接口,用于管理应用程序中的对象(即"Bean")。它是Spring IoC(控制反转)容器的基础,并提供了创建、获取和管理Bean的功能。 BeanFactory的主要职责包括: 实例化Bean:BeanF
阅读全文
摘要:spring context模块介绍 Spring框架是一个开源的Java开发框架,它提供了一系列的功能和工具,用于简化Java应用程序的开发。Spring Context模块是Spring框架的核心部分之一,它主要负责管理和协调应用程序中的对象。 Spring Context模块的主要功能包括:
阅读全文
摘要:spring web框架 Spring Web框架是一个开源的Java框架,它被广泛用于构建Web应用程序和RESTful服务。它基于经典的Spring框架,提供了一组功能强大且灵活的工具和类,用于简化Web应用程序的开发。 以下是Spring Web框架的主要特点和组件: MVC模式:Spring
阅读全文
摘要:什么是JUnit? JUnit是测试框架, 它用于Java代码的单元测试。 JUnit = Java + Unit Testing 什么是JUnit4? JUnit4是一个Java语言的单元测试框架,用于编写和执行单元测试。它是JUnit框架的第四个主要版本,并且是过去几年中最常用的版本。以下是一些
阅读全文
摘要:设计微服务的最佳实践有以下几个方面: 单一职责原则(Single Responsibility Principle):每个微服务应该专注于完成一个具体的业务功能,并且只有一个明确的职责。这样可以使得服务的代码、逻辑和数据模型保持简洁和清晰,易于理解和维护。 松耦合和高内聚(Loose Couplin
阅读全文
摘要:单点登录是什么意思? 单点登录(Single Sign-On,简称SSO)是一种身份验证和授权机制,允许用户使用一组凭据(如用户名和密码)登录到多个相关应用程序或系统中,而无需为每个应用程序输入凭据。简而言之,单点登录允许用户在一次身份验证后访问多个资源,提供了便捷性和可管理性的优势。 在传统的身份
阅读全文
摘要:背景 如果需要实现一个业务拦截器、过滤器,需要拦截request的所有传入信息。通常情况下,HttpServletRequst中的body内容只会读取一次,但是可能某些情境下可能会读取多次,由于body内容是以流的形式存在,所以第一次读取完成后,第二次就无法读取了,一个典型的场景就是Filter 在
阅读全文
摘要:前言 有的时候,我们需要把我们系统里的接口开放给第三方应用或企业使用,那第三方的系统并不在我们自己的认证授权用户体系内,此时,要如何保证我们接口的数据安全和身份识别呢? 在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题。其中
阅读全文
摘要:本例目标对象类MyDo.class,增强的目标是性能监控。代理类是MyDoAdvice.class,实现了org.aopalliance.intercept.MethodInterceptor(spring aop包下的)。 public class MyDo { public void doThi
阅读全文
摘要:前言 JDK1.7中的HashMap在多线程情况下扩容可能会导致死循环。本文就这个问题进行讲解。 扩容死循环 这里回顾一下HashMap1.7扩容的过程,在扩容过程中,单链表的表现,相关的代码如下: Jdk1.7:void resize(int newCapacity) { Entry[] oldT
阅读全文
摘要:使用 Spring Boot 实现给 PDF 文件添加文字水印的示例代码。 这里我们使用 iText 库来实现 PDF 文件的操作。首先需要在 pom.xml 中添加以下依赖: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itex
阅读全文
摘要:onShareAppMessage 是微信小程序中用于处理用户点击右上角分享按钮时触发的事件。开发者可以使用该事件来自定义分享内容和行为。 具体使用方法如下: 在小程序页面中,定义 onShareAppMessage 方法: Page({ onShareAppMessage: function (o
阅读全文
摘要:`Promise` 是 JavaScript 的一种语言结构,用于管理异步操作。异步操作指的是那些无法立即完成的任务,例如网络请求、文件操作等等。在传统的 JavaScript 编程中,为了处理这些异步操作,常常需要使用回调函数,而这往往会导致代码难以读懂和维护。 `Promise` 技术的出现解决
阅读全文
摘要:以下是一个将多张图片从上到下拼接在一起并转换成 PDF 文件的 Spring Boot 接口的示例代码: import com.itextpdf.text.Document; import com.itextpdf.text.Image; import com.itextpdf.text.pdf.P
阅读全文
摘要:以下是一个将 PDF 转换成 JPG 格式图片的 Spring Boot 接口代码: import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; import org.spr
阅读全文
摘要:这个org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice接口。 public interface ResponseBodyAdvice<T> { // 返回true代表走自定义逻辑 boolean suppo
阅读全文
摘要:有一张组织表,该表有上下层级,使用mysql 递归查询某个组织下的所有子组织,sql要怎么写? 假设这张表名为 organization 的表,其结构如下: CREATE TABLE organization ( id INT PRIMARY KEY, name VARCHAR(50), paren
阅读全文