<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Laravelchen的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Laravelchen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Laravelchen]]></copyright><item><title><![CDATA[刷题【Day1】704. 二分查找，27. 移除元素]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/129049471</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/129049471</guid><author>Laravelchen</author><pubDate>Wed, 15 Feb 2023 19:53:22 +0800</pubDate><description><![CDATA[LeetCode，算法，数据结构]]></description><category></category></item><item><title><![CDATA[【万文全解】Java集合源码解析【HashMap】【ArrayList】【JDK源码集合部分】]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/128864368</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/128864368</guid><author>Laravelchen</author><pubDate>Fri, 03 Feb 2023 12:54:23 +0800</pubDate><description><![CDATA[JDK1.8源码  HashMap  HashSet  ArrayList   LinkeList   LinkedHashSet  TreeMap  TreeSet ]]></description><category></category></item><item><title><![CDATA[【springboot数据校验】BO数据校验使用hibernate]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/128694093</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/128694093</guid><author>Laravelchen</author><pubDate>Sun, 15 Jan 2023 14:18:27 +0800</pubDate><description><![CDATA[数据验证的 springboot  hibernate]]></description><category></category></item><item><title><![CDATA[【最新】SpringBoot集成Dubbo3]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/128590395</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/128590395</guid><author>Laravelchen</author><pubDate>Sat, 07 Jan 2023 14:29:28 +0800</pubDate><description><![CDATA[springboot
zookeeper
dubbo]]></description><category></category></item><item><title><![CDATA[工具类org.apache.commons.lang3.StringUtils]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/128546966</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/128546966</guid><author>Laravelchen</author><pubDate>Wed, 04 Jan 2023 14:02:40 +0800</pubDate><description><![CDATA[commons-lang是Apache Commons 团队发布的工具包，相当于java.lang的增强版，]]></description><category></category></item><item><title><![CDATA[springboot 文件上传、配置文件大小、图片展示、全局异常处理]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123525091</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123525091</guid><author>Laravelchen</author><pubDate>Wed, 16 Mar 2022 15:07:57 +0800</pubDate><description><![CDATA[作为Java-web，平时总会在项目中涉及到文件上传，比如图片上传、Excel上传、PDF上传等等情况，今天以最普遍的图片上传为例，展示如下：
pom.xml
&lt;parent&gt;
		&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
		&lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
		&lt;version&gt;2.3.4.RELEASE&lt;/ve]]></description><category></category></item><item><title><![CDATA[Java定时任务与分布式定时任务]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123483094</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123483094</guid><author>Laravelchen</author><pubDate>Mon, 14 Mar 2022 17:06:52 +0800</pubDate><description><![CDATA[Java定时任务与分布式定时任务
文章目录Java定时任务与分布式定时任务1. JDK原生2. Spring3.Spring + 数据库4.Spring+Redis5.分布式定时任务RabbitMQquartzelastic-job-litexxl-job
业务场景：

订单下单之后15分钟后，用户未付款，系统需要自动取消订单。
红包24小时未被查收，需要延迟执退还业务；
超过7天，自动收货

1. JDK原生
使用JUC 提供的newScheduledThreadPool来执行定时任务
public cl]]></description><category></category></item><item><title><![CDATA[Java后端校验@Valid---使用hibernate-validator校验Bean]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123458182</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123458182</guid><author>Laravelchen</author><pubDate>Sun, 13 Mar 2022 13:53:49 +0800</pubDate><description><![CDATA[使用场景
在开发中经常需要写一些字段校验的代码，比如字段非空，字段长度限制，邮箱格式验证等等，写这些与业务逻辑关系不大的代码个人感觉有两个麻烦：

验证代码繁琐，重复劳动
方法内代码显得冗长
每次要看哪些参数验证是否完整，需要去翻阅验证逻辑代码

hibernate validator提供了一套比较完善、便捷的验证实现方式。
知识点
首先我们看一下进行校验时，使用的有哪些依赖包
	&lt;dependency&gt;
			&lt;groupId&gt;javax.validation&lt;/groupI]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息中间件技术精讲（五）]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123353370</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123353370</guid><author>Laravelchen</author><pubDate>Tue, 08 Mar 2022 14:43:24 +0800</pubDate><description><![CDATA[RabbitMQ集群  镜像队列 延迟队列 docker docker-compose]]></description><category></category></item><item><title><![CDATA[docker-compose安装rabbitmq集群镜像队列]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123351006</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123351006</guid><author>Laravelchen</author><pubDate>Tue, 08 Mar 2022 13:06:25 +0800</pubDate><description><![CDATA[创建docker-compose.yml 文件
version: '3'
services:
  rabbitmq1:
    image: rabbitmq:3.8.3-management
    container_name: rabbitmq1
    restart: always
    hostname: rabbitmq1
    ports:
      - 15683:15672
      - 5683:5672
    volumes:
      - ./data1:/var/li]]></description><category></category></item><item><title><![CDATA[RabbitMQ使用RPM方式搭建镜像队列]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123350857</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123350857</guid><author>Laravelchen</author><pubDate>Tue, 08 Mar 2022 12:52:38 +0800</pubDate><description><![CDATA[安装单机
准备：注意RabbitMQ的版本和Erlang版本对应，在RabbitMQ官网可以进行下载和查看对应关系
build-essential openssl openssl-devel unixODBC unixODBC-devel 
make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

下载：
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息中间件技术精讲（四）]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123350711</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123350711</guid><author>Laravelchen</author><pubDate>Tue, 08 Mar 2022 12:34:55 +0800</pubDate><description><![CDATA[第四章 RabbitMQ与Spring整合
文章目录第四章 `RabbitMQ`与`Spring`整合4.1-`AMQP`核心组件4.2-`SprigAMQP`管理组件`RabbitAdmin`应用4.3-`SprigAMQP-RabbitMQ`声明式配置使用4.4-`SpringAMQP`消息模板组件-`RabbitTemplate`4.5-`SpringAMQP`简单消息监听容器-`SimpleMessageListenerContainer`4.6-`SpringAMQP`消息监听适配器-`Messa]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息中间件技术精讲（三）]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123082017</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123082017</guid><author>Laravelchen</author><pubDate>Wed, 23 Feb 2022 09:05:15 +0800</pubDate><description><![CDATA[第三章 RabbitMQ高级特性
3.1-消息如何保障100%的投递成功方案


生产端的可靠性投递

保障消息的成功发出
保障MQ节点的成功接收
发送端收到MQ节点(Broker)确认应答
完善的消息进行补偿机制



BAT/TMD大厂解决方案


消息落库，对消息状态进行打标（缺点，在高并发场景下对数据库压力过大）

生产者将业务数据和消息入库，status默认为0
生产者发送消息到MQ
消费者进行消息确认
正常消费情况下，update消息状态为1，表示正常消费，如果出现网络闪断等问题，则消息状态为0]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息中间件技术精讲（二）]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123081946</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123081946</guid><author>Laravelchen</author><pubDate>Wed, 23 Feb 2022 09:01:27 +0800</pubDate><description><![CDATA[第二章 RabbitMQ核心概念
2.1-大厂使用RabbitMQ

RabbitMQ介绍

是一个开源的消息代理和队列服务器，用来在不同应用直接共享数据，实现跨语言问题
试用Erlang语言编写
基于AMQP协议


滴滴，美团，头条，去哪儿

开源，性能优秀，稳定性保障
提供可靠性消息投递模式（confirm模式），返回模式（return）
与SpringAMQP完美整合，API丰富
集群模式丰富，表达式配置，HA模式（高可用模式），镜像队列模型
保证数据不丢失的前提下做到高可靠性、可用性



2.2]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息中间件技术精讲（一）]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/123081883</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/123081883</guid><author>Laravelchen</author><pubDate>Wed, 23 Feb 2022 08:54:26 +0800</pubDate><description><![CDATA[第一章 课程介绍


导航


业界主流消息中间件介绍


MQ衡量指标：服务性能、数据存储、集群架构


ActiveMQ：缺点：性能不是特別好，并不试用高并发场景，优点：API很完善，适用于中小型互联网公司


kafka，优点：关注高性能，特点是基于pull模式来处理消息消费，追求高吞吐量，缺点：对于数据可靠性要求不是很高


RocketMQ，起源于kafka，纯java编写，需要运维维护，缺点：商业版收费


RabbitMQ，基于AMQP协议，试用于对数据一致性、稳定性和可靠性要求很高的场景

]]></description><category></category></item><item><title><![CDATA[SpringBoot使用MD5密码加密处理]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/120104832</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/120104832</guid><author>Laravelchen</author><pubDate>Sat, 04 Sep 2021 19:58:47 +0800</pubDate><description><![CDATA[SpringBoot使用MD5密码加密处理
//创建MD5工具类
@Component
public class MD5Utils {
    public static String MD5(String password){
        String md5 = null ;
        try {
            //使用java自带的MessageDigest工具类
            //加盐
            //转base64字符串
             md5 ]]></description><category></category></item><item><title><![CDATA[springboot返回统一接口与统一异常处理]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/120104424</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/120104424</guid><author>Laravelchen</author><pubDate>Sat, 04 Sep 2021 19:25:41 +0800</pubDate><description><![CDATA[springboot返回统一接口与统一异常处理
在做后端服务开发时，想要每次获取的数据和抛出的异常保持统一的返回结果，结构清晰，方便管理
1. 封装统一返回格式工具类ResultUtil
//引入Lombok依赖，不引入可以自己构建getter,setter
@Data
@Component
public class ResultUtil&lt;T&gt; {
    //三个主要参数，code码，消息体，数据体
    private Integer code;

    private String m]]></description><category></category></item><item><title><![CDATA[AOP统一处理web请求日志]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/120061604</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/120061604</guid><author>Laravelchen</author><pubDate>Thu, 02 Sep 2021 15:04:09 +0800</pubDate><description><![CDATA[AOP统一处理web请求日志
1. 引入依赖
&lt;!--配置spring-boot-starter-parent父工程,下面的依赖可以不用再指定版本--&gt;
&lt;!--而是可以通过parent包中的版本仲裁，控制整体的版本--&gt;
&lt;parent&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&g]]></description><category></category></item><item><title><![CDATA[SpringBoot配置Log4j2]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/120059188</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/120059188</guid><author>Laravelchen</author><pubDate>Thu, 02 Sep 2021 13:25:14 +0800</pubDate><description><![CDATA[SpringBoot配置Log4j2
1. 创建Spring Boot 项目
2. 配置pom.xml文件
&lt;!--配置spring-boot-starter-parent父工程,下面的依赖可以不用再指定版本--&gt;
&lt;!--而是可以通过parent包中的版本仲裁，控制整体的版本--&gt;
&lt;parent&gt;
&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
&lt;artifactId&gt;spring-boot-]]></description><category></category></item><item><title><![CDATA[SpringBoot2.0源码三]]></title><link>https://blog.youkuaiyun.com/Laravelchen/article/details/120057520</link><guid>https://blog.youkuaiyun.com/Laravelchen/article/details/120057520</guid><author>Laravelchen</author><pubDate>Thu, 02 Sep 2021 11:25:25 +0800</pubDate><description><![CDATA[第三章：理解SpringApplication
第一节：基础技术和衍生技术
学好spirngboot，一定要学好spring framework
基础技术（spring framework）

spring 模式注解
spirng 应用上下文
spring 工厂加载机制
spring 应用上下文初始器
spring Environment 抽象接口
spirng 应用事件/监听器

衍生技术（spring boot ）

SpringApplication
SpringApplication Builder]]></description><category></category></item></channel></rss>