<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yaml4的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yaml4</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yaml4]]></copyright><item><title><![CDATA[SQL基础语法全解析（上篇）]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144205574</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144205574</guid><author>Yaml4</author><pubDate>Tue, 03 Dec 2024 14:45:00 +0800</pubDate><description><![CDATA[数据定义语言（Data Definition Language，DDL）是 SQL 语言集中负责数据结构定义与数据库对象定义的语言。DDL 的主要功能是定义数据库对象。DDL 的核心指令是CREATEALTERDROP。]]></description><category></category></item><item><title><![CDATA[MyBatis高效SQL写法指南]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144203557</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144203557</guid><author>Yaml4</author><pubDate>Tue, 03 Dec 2024 09:37:41 +0800</pubDate><description><![CDATA[MyBatis-Plus 的 Wrapper 条件构造器是一种强大的工具，它允许开发者以链式调用的方式构建复杂的 SQL 查询条件。MyBatis-Plus 提供了大量的 CRUD（创建、读取、更新、删除）操作的方法，并允许你通过自定义 SQL 语句来实现更复杂的操作。此示例展示了如何根据不同的搜索类型选择不同的查询条件。此示例展示了如何在插入用户后自动获取生成的主键，并将其赋值给传入的User对象的id属性。都提供了 Lambda 表达式的方法，这些方法允许你以类型安全的方式引用实体类的属性。]]></description><category></category></item><item><title><![CDATA[SpringBoot实战：高效实现API限流策略]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144180638</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144180638</guid><author>Yaml4</author><pubDate>Mon, 02 Dec 2024 16:00:00 +0800</pubDate><description><![CDATA[你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样，当限流器阻止请求时，客户端将收到一个带有状态码的响应。]]></description><category></category></item><item><title><![CDATA[异步编程优化：@Async与CompletableFuture的优雅结合]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144180026</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144180026</guid><author>Yaml4</author><pubDate>Mon, 02 Dec 2024 09:46:17 +0800</pubDate><description><![CDATA[1. 简介@Async和 CompletableFuture是实现异步处理的强大工具组合。@Async是Spring框架提供的一个注解，用于标记方法以表明它将在Spring管理的线程池中的另一个线程上异步执行。这使得开发人员能够在不阻塞主线程的情况下执行耗时的任务，从而提高应用程序的整体性能和响应速度。是Java 8引入的一个强大的类，它代表了一个可能尚未完成的计算的结果。提供了丰富的API来支持异步编程模式，如回调、组合操作、错误处理等。通过将@Async与结合使用，可以实现更高效的异步任务处理。]]></description><category></category></item><item><title><![CDATA[Java定时任务全解析：从基础到高级]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144130199</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144130199</guid><author>Yaml4</author><pubDate>Sat, 30 Nov 2024 14:00:00 +0800</pubDate><description><![CDATA[单机定时任务的常见解决方案有TimerDelayQueue、Spring Task 和时间轮，其中最常用也是比较推荐使用的是时间轮。另外，这几种单机定时任务解决方案同样可以实现延时任务。Redis 和 MQ 虽然可以实现分布式定时任务，但这两者本身不是专门用来做分布式定时任务的，它们并不提供较为完整和强大的分布式定时任务的功能。而且，两者不太适合执行周期性的定时任务，因为它们只能保证消息被消费一次，而不能保证消息被消费多次。因此，它们更适合执行一次性的延时任务，例如订单取消、红包撤回。]]></description><category></category></item><item><title><![CDATA[SSO单点登录：全面详解与实现指南]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144128159</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144128159</guid><author>Yaml4</author><pubDate>Sat, 30 Nov 2024 10:00:00 +0800</pubDate><description><![CDATA[1、定义单点登录（Single Sign - On，简称 SSO）是一种身份验证机制，它允许用户使用单一的凭据（如用户名和密码）访问多个相互信任的应用系统。在这种模式下，用户只需登录一次，就可以在不同的应用之间无缝切换，而无需为每个应用单独进行登录操作。2、优势用户体验提升：用户无需记住多个账号和密码，减少了登录操作的繁琐性，提高了用户体验。管理效率提高：对于企业来说，管理用户账号和权限变得更加简单，只需要在单点登录系统中进行统一的用户管理和认证授权。安全性增强。]]></description><category></category></item><item><title><![CDATA[数据脱敏方案的实施与策略]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144102488</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144102488</guid><author>Yaml4</author><pubDate>Fri, 29 Nov 2024 14:45:00 +0800</pubDate><description><![CDATA[数据脱敏百度百科中是这样定义的：数据脱敏，指对某些敏感信息通过脱敏规则进行数据的变形，实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。在涉及客户安全数据或者一些商业性敏感数据的情况下，在不违反系统规则条件下，对真实数据进行改造并提供测试使用，如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。总的来说，数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形，实现敏感隐私数据的可靠保护。]]></description><category></category></item><item><title><![CDATA[全面解析：常见加密算法及其应用]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144102576</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144102576</guid><author>Yaml4</author><pubDate>Fri, 29 Nov 2024 10:30:00 +0800</pubDate><description><![CDATA[这篇文章介绍了三种加密算法：哈希算法、对称加密算法和非对称加密算法。哈希算法是一种用数学方法对数据生成一个固定长度的唯一标识的技术，可以用来验证数据的完整性和一致性，常见的哈希算法有 MD、SHA、MAC 等。对称加密算法是一种加密和解密使用同一个密钥的算法，可以用来保护数据的安全性和保密性，常见的对称加密算法有 DES、3DES、AES 等。非对称加密算法是一种加密和解密使用不同的密钥的算法，可以用来实现数据的安全传输和身份认证，常见的非对称加密算法有 RSA、DSA、ECC 等。]]></description><category></category></item><item><title><![CDATA[Spring Boot 常用注解全面总结]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144085520</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144085520</guid><author>Yaml4</author><pubDate>Thu, 28 Nov 2024 15:00:00 +0800</pubDate><description><![CDATA[Hibernate Validator 是 Hibernate 团队最初的数据校验框架，Hibernate Validator 4.x 是 Bean Validation 1.0（JSR 303）的参考实现，Hibernate Validator 5.x 是 Bean Validation 1.1（JSR 349）的参考实现，目前最新版的 Hibernate Validator 6.x 是 Bean Validation 2.0（JSR 380）的参考实现。拿我们在第 5 节参数校验这块来举例子。]]></description><category></category></item><item><title><![CDATA[Spring常见面试题精编总结]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144019202</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144019202</guid><author>Yaml4</author><pubDate>Thu, 28 Nov 2024 10:45:00 +0800</pubDate><description><![CDATA[Spring 是一款开源的轻量级 Java 开发框架，旨在提高开发人员的开发效率以及系统的可维护性。]]></description><category></category></item><item><title><![CDATA[MyBatis面试必备：高频问题及实战技巧]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144082259</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144082259</guid><author>Yaml4</author><pubDate>Wed, 27 Nov 2024 15:16:06 +0800</pubDate><description><![CDATA[MyBatis是一个半ORM（对象关系映射）框架，它内部包装了JDBC，允许开发人员编写简洁的SQL语句，并且可以使用动态SQL和参数映射来进行高效和灵活的数据操作。MyBatis提供了许多高级功能，如缓存机制、批量操作、分页等，并可以与多种数据库和Web框架无缝集成。虽然 MyBatis 解析 xml 映射文件是按照顺序解析的，但是，被引用的 B 标签依然可以定义在任何地方，MyBatis 都可以正确识别。]]></description><category></category></item><item><title><![CDATA[Spring事务管理深度解析：从原理到实践]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144074135</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144074135</guid><author>Yaml4</author><pubDate>Wed, 27 Nov 2024 10:01:44 +0800</pubDate><description><![CDATA[在软件开发领域，大家对事务的概念想必都不陌生，事务简单来说，就是逻辑上的一组操作，这组操作具有一个显著特点：要么全部都得以执行，要么就全部都不执行，就如同一个不可分割的整体。接下来，咱们结合日常实际开发场景来深入聊聊事务。在我们所开发的系统里，每个业务方法往往包含了多个原子性的数据库操作。就拿下面这个// 这里首先通过personDao将人员基本信息保存到数据库// 接着通过personDetailDao将人员详细信息也保存到数据库。]]></description><category></category></item><item><title><![CDATA[深入浅出：IoC 与 AOP 核心原理全解析（快速上手版）]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144050106</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144050106</guid><author>Yaml4</author><pubDate>Tue, 26 Nov 2024 09:21:16 +0800</pubDate><description><![CDATA[IoC （Inversion of Control ）即控制反转/反转控制。它是一种思想不是一个技术实现。描述的是：Java 开发领域对象的创建以及管理的问题。例如：现有类 A 依赖于类 B传统的开发方式：往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来使用 IoC 思想的开发方式：不通过 new 关键字来创建对象，而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象，直接从 IoC 容器里面去取即可。]]></description><category></category></item><item><title><![CDATA[Spring 中的设计模式详解]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144049512</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144049512</guid><author>Yaml4</author><pubDate>Tue, 26 Nov 2024 09:09:02 +0800</pubDate><description><![CDATA[定义一个事件: 实现一个继承自，并且写相应的构造函数；定义一个事件监听者：实现接口，重写方法；使用事件发布者发布消息: 可以通过的方法发布消息。// 定义一个事件,继承自ApplicationEvent并且写相应的构造函数// 定义一个事件监听者,实现ApplicationListener接口，重写 onApplicationEvent() 方法；@Component//使用onApplicationEvent接收消息@Override。]]></description><category></category></item><item><title><![CDATA[SpringBoot 自动装配原理详解]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144043271</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144043271</guid><author>Yaml4</author><pubDate>Mon, 25 Nov 2024 23:30:27 +0800</pubDate><description><![CDATA[使用过 Spring 的小伙伴，一定有被 XML 配置统治的恐惧。即使 Spring 后面引入了基于注解的配置，我们在开启某些 Spring 特性或者引入第三方依赖的时候，还是需要用 XML 或 Java 进行显式配置。举个例子。没有 Spring Boot 的时候，我们写一个 RestFul Web 服务，还首先需要进行如下配置。@Bean@Bean但是，Spring Boot 项目，我们只需要添加相关依赖，无需配置，通过启动下面的main方法即可。]]></description><category></category></item><item><title><![CDATA[SpringBoot 框架下高效敏感词过滤功能的完整实现方案]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/144028856</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/144028856</guid><author>Yaml4</author><pubDate>Mon, 25 Nov 2024 16:22:36 +0800</pubDate><description><![CDATA[提供一种机制，允许用户根据自己的需求定义敏感词的替换规则。例如，可以将某些敏感词替换为指定的占位符或符号，以避免直接显示敏感内容。]]></description><category></category></item><item><title><![CDATA[Spring Boot Vue集成：打造智能化企业员工管理系统]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/143974827</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/143974827</guid><author>Yaml4</author><pubDate>Fri, 22 Nov 2024 17:01:04 +0800</pubDate><description><![CDATA[随着企业规模的扩大和市场竞争的加剧，企业管理面临着前所未有的挑战。传统的员工管理方式，如手工记录、纸质文档等，不仅效率低下，还容易出错，难以满足现代企业对员工信息管理的精准、高效需求。因此，开发一套集员工信息管理、考勤管理、薪资管理等功能于一体的智能化企业员工管理系统，成为提升企业管理效率、优化资源配置的关键。Java是由SUN公司推出，该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称，也因此得来java是一杯正冒着热气咖啡的标识。]]></description><category></category></item><item><title><![CDATA[Java基础常见面试题总结(下)]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/143902035</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/143902035</guid><author>Yaml4</author><pubDate>Fri, 22 Nov 2024 14:30:00 +0800</pubDate><description><![CDATA[Java 泛型（Generics）是 JDK 5 中引入的一个新特性。使用泛型参数，可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测，并且通过泛型参数可以指定传入的对象类型。比如这行代码就指明了该ArrayList对象只能传入Person对象，如果传入其他类型的对象就会报错。并且，原生List返回类型是Object，需要手动转换类型才能使用，使用泛型后编译器自动转换。]]></description><category></category></item><item><title><![CDATA[Java 序列化详解]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/143945746</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/143945746</guid><author>Yaml4</author><pubDate>Fri, 22 Nov 2024 10:30:00 +0800</pubDate><description><![CDATA[如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中，或者在网络传输 Java 对象，这些场景都需要用到序列化。序列化：在序列化过程中，对象的状态被保存为一连串的字节，这些字节可以保存到文件中或通过网络传输。序列化后的字节流可以在需要时进行反序列化反序列化：与序列化相反，反序列化是指将字节流转化为对象的过程。在反序列化过程中，字节流被重新组装成对象，并恢复对象的状态。]]></description><category></category></item><item><title><![CDATA[Java SPI 机制详解]]></title><link>https://blog.youkuaiyun.com/Yaml4/article/details/143944104</link><guid>https://blog.youkuaiyun.com/Yaml4/article/details/143944104</guid><author>Yaml4</author><pubDate>Thu, 21 Nov 2024 19:15:00 +0800</pubDate><description><![CDATA[Java SPI（Service Provider Interface）机制是Java官方提供的一种服务发现机制，它允许在运行时动态地加载实现特定接口的类，而不需要在代码中显式地指定该类。这种机制为框架或库的扩展点提供了实现方式，使得开发者能够在运行时动态插入或更换组件的实现。以下是对Java SPI机制的详细解析：SPI 即 Service Provider Interface ，字面意思就是：“服务提供者的接口”，我的理解是：专门提供给服务提供者或者扩展框架功能的开发者去使用的一个接口。]]></description><category></category></item></channel></rss>