<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lercent的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lercent</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lercent]]></copyright><item><title><![CDATA[LeetCode常用方法]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/146703997</link><guid>https://blog.youkuaiyun.com/lercent/article/details/146703997</guid><author>lercent</author><pubDate>Sun, 30 Mar 2025 17:11:05 +0800</pubDate><description><![CDATA[按位与 &      按位或 |        按位异或 ^      按位非 ~]]></description><category></category></item><item><title><![CDATA[JVM（六）：G1&ZGC详解]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/145668550</link><guid>https://blog.youkuaiyun.com/lercent/article/details/145668550</guid><author>lercent</author><pubDate>Sun, 16 Feb 2025 19:48:11 +0800</pubDate><description><![CDATA[G1垃圾收集器在JDK7被开发出来，JDK8功能基本完全实现。并且成功替换掉了Parallel Scavenge成为了服务端模式下默认的垃圾收集器。对比起另外一个垃圾回收器CMS，G1不仅能提供能提供规整的内存，而且能够实现可预测的停顿，能够将垃圾回收时间控制在N毫秒内。这种“可预测的停顿”和高吞吐量特性让G1被称为"功能最全的垃圾回收器"。G1同时回收新生代和老年代，但是分别被称为G1的Young GC模式和Mixed GC模式。]]></description><category></category></item><item><title><![CDATA[Apache—commons-io 包 IOUtils、FileUtils、FilenameUtils]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/145619137</link><guid>https://blog.youkuaiyun.com/lercent/article/details/145619137</guid><author>lercent</author><pubDate>Thu, 13 Feb 2025 22:14:26 +0800</pubDate><description><![CDATA[【代码】commons-io 包 IOUtils、FileUtils、FilenameUtils。]]></description><category></category></item><item><title><![CDATA[设计模式—设计原则、常用设计模式]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/145572468</link><guid>https://blog.youkuaiyun.com/lercent/article/details/145572468</guid><author>lercent</author><pubDate>Tue, 11 Feb 2025 15:32:35 +0800</pubDate><description><![CDATA[设计模式]]></description><category></category></item><item><title><![CDATA[RabbitMQ]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/139093108</link><guid>https://blog.youkuaiyun.com/lercent/article/details/139093108</guid><author>lercent</author><pubDate>Tue, 21 May 2024 18:39:03 +0800</pubDate><description><![CDATA[RabbitMQ是一个开源的消息队列中间件，它实现了高度可靠、灵活和可扩展的消息传递模型。RabbitMQ是由支持高并发的erlang语言开发，它实现了 AMQP（高级消息队列协议）。]]></description><category></category></item><item><title><![CDATA[SpringMVC流程]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/139030383</link><guid>https://blog.youkuaiyun.com/lercent/article/details/139030383</guid><author>lercent</author><pubDate>Sat, 18 May 2024 20:00:28 +0800</pubDate><description><![CDATA[DispatcherServlet 接收到请求后，解析请求地址，得到URI，然后通过 HandlerMapping 得到包含拦截器和handler的 HandlerExecutionChain。DispatcherServlet 调用视图对象的方法，解析 Model（模型数据），然后进行视图渲染，最后形成一个 HttpResponse 对象。DispatcherServlet 调用 ViewResolver 将 ModelAndView对象 中的视图名称解析为具体的视图对象（View）。]]></description><category></category></item><item><title><![CDATA[Java基础—变量与常量、数据类型、运算符、访问修饰符、接口与类、方法重载与重写]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/135828503</link><guid>https://blog.youkuaiyun.com/lercent/article/details/135828503</guid><author>lercent</author><pubDate>Wed, 24 Jan 2024 18:13:29 +0800</pubDate><description><![CDATA[Java是一种强类型语言，有8种基本数据类型，分为4种整型、2种浮点类型、1种布尔类型和1种字符类型。\b 退格      \t 制表      \n 换行      \r 回车      \" 双引号      \’ 单引号      \\ 反斜杠。]]></description><category></category></item><item><title><![CDATA[分布式事务（CAP、BASE、XA、2PC、3PC、TCC、MQ事务）]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/128232598</link><guid>https://blog.youkuaiyun.com/lercent/article/details/128232598</guid><author>lercent</author><pubDate>Thu, 22 Dec 2022 14:51:23 +0800</pubDate><description><![CDATA[分布式事务（CAP、BASE、XA、2PC、3PC、TCC、MQ事务）]]></description><category></category></item><item><title><![CDATA[Redis—《Redis 深度历险：核心原理与应用实践》学习]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/128183027</link><guid>https://blog.youkuaiyun.com/lercent/article/details/128183027</guid><author>lercent</author><pubDate>Thu, 08 Dec 2022 11:29:30 +0800</pubDate><description><![CDATA[Redis]]></description><category></category></item><item><title><![CDATA[MyBatis的使用]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/128118139</link><guid>https://blog.youkuaiyun.com/lercent/article/details/128118139</guid><author>lercent</author><pubDate>Wed, 30 Nov 2022 17:44:22 +0800</pubDate><description><![CDATA[MyBatis的工作原理及核心流程]]></description><category></category></item><item><title><![CDATA[数据结构—数组、链表、栈、队列、树、AVL树、红黑树、 B+树]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/127754743</link><guid>https://blog.youkuaiyun.com/lercent/article/details/127754743</guid><author>lercent</author><pubDate>Fri, 25 Nov 2022 17:44:16 +0800</pubDate><description><![CDATA[数组、链表、栈、队列、树]]></description><category></category></item><item><title><![CDATA[TCP/IP 四层体系结构、TCP三次握手和四次挥手]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/127844285</link><guid>https://blog.youkuaiyun.com/lercent/article/details/127844285</guid><author>lercent</author><pubDate>Mon, 14 Nov 2022 17:02:31 +0800</pubDate><description><![CDATA[TCP/IP 四层体系结构、TCP三次握手和四次挥手]]></description><category></category></item><item><title><![CDATA[常用设计模式—创建型、结构型、行为型]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/127752325</link><guid>https://blog.youkuaiyun.com/lercent/article/details/127752325</guid><author>lercent</author><pubDate>Tue, 08 Nov 2022 16:04:21 +0800</pubDate><description><![CDATA[代理模式、门面模式、 观察者模式、策略模式]]></description><category></category></item><item><title><![CDATA[Redis—spring-data-redis的使用]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/118762987</link><guid>https://blog.youkuaiyun.com/lercent/article/details/118762987</guid><author>lercent</author><pubDate>Fri, 16 Jul 2021 11:52:53 +0800</pubDate><description><![CDATA[spring-data-redis StringRedisTemplate 定义：
package org.springframework.data.redis.core;

import org.springframework.data.redis.connection.DefaultStringRedisConnection;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframew]]></description><category></category></item><item><title><![CDATA[Java基础—动态代理]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/118608487</link><guid>https://blog.youkuaiyun.com/lercent/article/details/118608487</guid><author>lercent</author><pubDate>Fri, 09 Jul 2021 17:00:19 +0800</pubDate><description><![CDATA[一、JDK动态代理
调用处理器接口 InvocationHandler 和 代理类 Proxy 。
定义:
public interface InvocationHandler

public class Proxy extends Object implements Serializable


API:
static InvocationHandler getInvocationHandler(Object proxy)
返回指定代理实例的调用处理器。

static Class&lt;?&gt;	ge]]></description><category></category></item><item><title><![CDATA[Java基础—泛型]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/116205649</link><guid>https://blog.youkuaiyun.com/lercent/article/details/116205649</guid><author>lercent</author><pubDate>Tue, 27 Apr 2021 17:35:50 +0800</pubDate><description><![CDATA[1. 定义简单泛型类
public class Pair&lt;T&gt; {
    private T first;
    private T second;

    public Pair() { first = null ; second = null ; }
    public Pair(T first, T second) { this.first = first; this.second = second; }

    public T getFirst() { return firs]]></description><category></category></item><item><title><![CDATA[Java基础—多线程]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/115331460</link><guid>https://blog.youkuaiyun.com/lercent/article/details/115331460</guid><author>lercent</author><pubDate>Wed, 31 Mar 2021 15:23:06 +0800</pubDate><description><![CDATA[一、Java多线程
1. 进程和线程
进程和线程都是一个时间段的描述。
进程：进程是正在运行的程序的实例，是系统资源分配的最小单位。
线程：线程可以理解为进程中独立运行的子任务，是CPU调度的最小单位。

2. 使用多线程
实现多线程编程的方式主要有两种，一种是继承 Thread 类，另一种是实现 Runnable 接口。
Runnable接口：
定义：
public interface Runnable {
    public abstract void run();
}

Thread类：
构造函数：]]></description><category></category></item><item><title><![CDATA[Java基础—主流锁]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/115304246</link><guid>https://blog.youkuaiyun.com/lercent/article/details/115304246</guid><author>lercent</author><pubDate>Tue, 30 Mar 2021 14:51:21 +0800</pubDate><description><![CDATA[Java主流锁

1. 乐观锁 VS 悲观锁
乐观锁与悲观锁是一种广义上的概念，体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的实际应用。
对于同一个数据的并发操作，悲观锁认为自己在使用数据的时候一定有别的线程来修改数据，因此在获取数据的时候会先加锁，确保数据不会被别的线程修改。Java中，synchronized 关键字和 Lock 的实现类都是悲观锁。
而乐观锁认为自己在使用数据时不会有别的线程修改数据，所以不会添加锁，只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这]]></description><category></category></item><item><title><![CDATA[IDEA—常用快捷键]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/113613709</link><guid>https://blog.youkuaiyun.com/lercent/article/details/113613709</guid><author>lercent</author><pubDate>Mon, 15 Mar 2021 16:13:25 +0800</pubDate><description><![CDATA[进入方法后回到原来那行：
ctrl+alt+左 回到上一步
ctrl+alt+右 回到下一步
代码格式优化
Ctrl+Alt+L 格式化代码
Ctrl+Alt+I 本行代码自动缩进
Ctrl+P 方法参数提示
Ctrl+Alt+T 将被选中的代码段放到if/else等语句块中
Ctrl+E 显示最近更改的代码
代码编辑
Ctrl+W 自动选中代码
Ctrl+Shift+W 反选代码
Ctrl+D 复制当前行
Ctrl+Y 删除行
Ctrl+G 跳转到指定行
Ctrl+Shift+U 转换大小写
Alt+上下]]></description><category></category></item><item><title><![CDATA[Java基础—日期时间类]]></title><link>https://blog.youkuaiyun.com/lercent/article/details/106796812</link><guid>https://blog.youkuaiyun.com/lercent/article/details/106796812</guid><author>lercent</author><pubDate>Sun, 05 Jul 2020 20:44:45 +0800</pubDate><description><![CDATA[1. LocalDateTime API
1.1 基础方法
public static LocalDateTime now() 获取当前的日期时间。
public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)
获得指定年，月，日，时，分、秒的LocalDateTime实例，将纳秒设置为零。
month：取值1-12，12表示12月。
dayOfMonth：取值1-3]]></description><category></category></item></channel></rss>