<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Redemption]]></title><description><![CDATA[No pain, no gain！]]></description><link>https://blog.youkuaiyun.com/RedemptionWY</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; RedemptionWY]]></copyright><item><title><![CDATA[8080端口被占用的解决方法（windows）]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/125567501</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/125567501</guid><author>RedemptionWY</author><pubDate>Fri, 01 Jul 2022 23:54:33 +0800</pubDate><description><![CDATA[win+R打开cmd窗口netstat -ano 列出所有端口的情况，找到被占用的端口
输入命令netstat -aon | findstr “8080” 找对应的PID
输入命令 tasklist | findstr “xxxxx” 查找具体的占用进程 (xxxxx为pid)
终止占用端口的进程...]]></description><category></category></item><item><title><![CDATA[Elasticsearch解决控制台中文乱码问题]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/125544448</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/125544448</guid><author>RedemptionWY</author><pubDate>Thu, 30 Jun 2022 17:13:35 +0800</pubDate><description><![CDATA[解决方法：找到conf目录下的jvm.options文件，将-Dfile.encoding改成GBK编码。]]></description><category></category></item><item><title><![CDATA[转发与重定向的区别]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/125537760</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/125537760</guid><author>RedemptionWY</author><pubDate>Thu, 30 Jun 2022 11:54:26 +0800</pubDate><description><![CDATA[转发和重定向的区别：1、请求次数不同；2、重定向时地址栏会发生变化，而转发时地址栏不会发生变化；3、重定向两次请求不共享数据，转发一次请求共享数据。]]></description><category></category></item><item><title><![CDATA[Windos环境下kafka配置启动Zookeeper时,报错：Invalid config, exiting abnormally.]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/124929833</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/124929833</guid><author>RedemptionWY</author><pubDate>Mon, 23 May 2022 16:35:42 +0800</pubDate><description><![CDATA[Windos环境下kafka配置启动Zookeeper时,报错：Invalid config, exiting abnormally.
执行命令：
D:\kafkaOnWindows\kafka_2.12-2.3.0&gt;bin\windows\kafka-server-start.bat config\server.properties

tip：一定要在kafaka安装目录下执行，并且将路径写完整
否则可能出现如下错误：Invalid config, exiting abnormally
zookee]]></description><category></category></item><item><title><![CDATA[SpringMVC的工作流程]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/124563942</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/124563942</guid><author>RedemptionWY</author><pubDate>Tue, 03 May 2022 23:30:48 +0800</pubDate><description><![CDATA[工作流程图如下：


1）用户发送请求至前端控制器 DispatcherServlet。
2）DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。
3）处理器映射器找到具体的处理器(可以根据 xml 配置、注解找到最终要执行的Handler），生成处理器及处理器拦截器 (如果有则生成)一并返回给 DispatcherServlet。
4）DispatcherServlet 调用 HandlerAdapter 处理器适配器。
5）HandlerAdapter 经过适配]]></description><category></category></item><item><title><![CDATA[MySQL之主从同步原理]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/124048097</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/124048097</guid><author>RedemptionWY</author><pubDate>Fri, 08 Apr 2022 18:23:29 +0800</pubDate><description><![CDATA[使用背景：使用MySQL时，遇到单机性能瓶颈的时候，往往就会使用主从部署，或者读写分离、集群等方法。当MySQL涉及到多个节点提供服务的时候，往往就会涉及到数据之间的一致的问题。MySQL是通过使用主从同步来保证各个节点的数据一致。
MySQL主从同步的过程：
MySQL的主从复制中主要有三个线程： master（bin log dump thread）、slave（I/O thread 、SQL thread） ，Master一条线程和Slave中的两条线程。

主节点 bin log，主从复制的基础是主]]></description><category></category></item><item><title><![CDATA[数组的差分算法技巧]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123998043</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123998043</guid><author>RedemptionWY</author><pubDate>Wed, 06 Apr 2022 20:07:02 +0800</pubDate><description><![CDATA[数组的差分算法技巧
算法技巧：差分数组
适用场景：频繁对原始数组的某个区间的元素进行增减
差分数组的特性：

对于原始数组arr[a, b, c, d]，其差分数组为：diff[a, b-a, c-b, d-c]
差分数组的前缀和数组 == 原始数组，即：求差分数组的前缀和数组，即可还原回去。如：[a, a + b-a, a+b-a + c-b, …]

该类题目：
LeetCode.370. 区间加法 难度：中等
LeetCode1.109. 航班预订统计 难度：中等
LeetC.1094. 拼车 难度：]]></description><category></category></item><item><title><![CDATA[MySQL之MVCC]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123974857</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123974857</guid><author>RedemptionWY</author><pubDate>Tue, 05 Apr 2022 19:13:07 +0800</pubDate><description><![CDATA[MVCC（多版本并发控制）


MVCC叫做多版本并发控制，读取数据时通过一种类似快照的方式将数据保存下来，不同的事务会看到自己特定版本的数据，这样读锁和写锁就不冲突了，提高了数据库的读写效率。


MVCC主要是处理读请求的，这个读主要处理的是快照读，而不是当前读。

快照读（一致性非锁定读），是基于MVCC的，读到的数据不一定是当前最新的数据，有可能是之前历史版本的数据。
当前读（锁定读），其实是一种悲观锁，需要去加锁。读取的是最新版本的数据，比如我们执行insert、update或delete的时候，]]></description><category></category></item><item><title><![CDATA[MySQL之乐观锁与悲观锁]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123950843</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123950843</guid><author>RedemptionWY</author><pubDate>Mon, 04 Apr 2022 11:31:48 +0800</pubDate><description><![CDATA[悲观锁

select…for update 是 MySQL 提供的实现悲观锁的方式。

例如：

select price from item where id=100 for update;

此时在 items 表中，id 为 100 的那条数据就被我们锁定了，其它的要执行 select price from items where id=100 for update 的事务必须等本次事务提交之后才能执行。这样我们可以保证当前的数据不会被其它事务修改。MySQL 有个问题是 select…for up]]></description><category></category></item><item><title><![CDATA[lambda表达式引用的本地变量必须是最终变量或实际上的最终变量]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123928155</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123928155</guid><author>RedemptionWY</author><pubDate>Sat, 02 Apr 2022 20:39:39 +0800</pubDate><description><![CDATA[Error:(23, 35) java: 从lambda 表达式引用的本地变量必须是最终变量或实际上的最终变量。 
问题描述：最近遇到一个问题，让你用10个线程计算1-100累加的结果，并且不能使用Synchronize。
思路：用AtomicInteger + 线程池来解决。
tip：不能使用volatile关键字（只能保证可见性，不能保证同步性），用的话需要加锁不符题意...]]></description><category></category></item><item><title><![CDATA[MySQL之索引]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123863673</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123863673</guid><author>RedemptionWY</author><pubDate>Thu, 31 Mar 2022 22:53:15 +0800</pubDate><description><![CDATA[前言：本文主要梳理整合了包括：索引的概念、作用、优缺点，索引的底层数据结构（Hash表、B树、B+树），索引的类型（主键索引、辅助索引、聚集索引、非聚集索引、覆盖索引），联合索引的最左匹配原则，以及创建索引的注意事项。具体内容如下所示。
索引的概念
索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B 树， B+树和 Hash。如果没有索引，一般来说执行查询的时候需要遍历整张表。（索引的作用就相当于我们平时用的目录，通过目录快速定位到查找目标的位置。如果没有目录我们只能一页一页翻，速度十分慢。]]></description><category></category></item><item><title><![CDATA[MySQL之事务]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123842256</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123842256</guid><author>RedemptionWY</author><pubDate>Wed, 30 Mar 2022 13:42:15 +0800</pubDate><description><![CDATA[主要内容包括：事务的介绍、事务的特征（ACID）、日志（binlog、redolog、binlog）、并发事务有关问题（脏读、丢失修改、不可重复、幻读）、事务的隔离级别。
什么是事务？
简而言之：事务是逻辑上的一组操作，要么都执行，要么都不执行。
事务可以是一条非常简单的SQL语句组成，也 可以由一组复杂的SQL语句组成，事务是访问并更新数据库中各种数据项的一个程序执行单 元。在事务中的操作，要么都做修改，要么都不做，这就是事务的主要目的。...]]></description><category></category></item><item><title><![CDATA[MySQL数据库引擎MyISAM和 InnoDB的区别以及琐]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/123792265</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/123792265</guid><author>RedemptionWY</author><pubDate>Mon, 28 Mar 2022 13:02:22 +0800</pubDate><description><![CDATA[MyISAM引擎和 InnoDB引擎的区别
MySQL 5.5之前的默认存储引擎是MyISAM，MyISAM的性能还可以（支持全文索引，压缩，空间函数等）。但是MyISAM不支持事务和行级锁，而且最大的缺陷是崩溃后无法安全恢复。MySQL5.5之后默认的存储引擎为InnoDB（事务性数据引擎）。
MyISAM引擎和InnoDB引擎的对比


MyISAM只支持表级锁，而InnoDB不仅支持表级锁而且还支持行级锁，默认为行级锁。


MyISAM不支持事务，InnoDB支持事务，具有commit和rollba]]></description><category></category></item><item><title><![CDATA[mybatis-config.xml中文注释报错问题]]></title><link>https://blog.youkuaiyun.com/RedemptionWY/article/details/109585048</link><guid>https://blog.youkuaiyun.com/RedemptionWY/article/details/109585048</guid><author>RedemptionWY</author><pubDate>Mon, 09 Nov 2020 20:05:00 +0800</pubDate><description><![CDATA[mybatis-config.xml中文注释报错问题
mybatis-config.xml这个文件中有中文时
报错图片如下：

一个简单的解决方法：
将配置文件mybatis-config.xml的字符集改为utf8

（tip：若Mapper.xml也出现类似情况，可同上方案解决。）

...]]></description><category></category></item></channel></rss>