<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[长林攻城狮的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shao_yc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shao_yc]]></copyright><item><title><![CDATA[记录一次HTTP调用方式]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/130796981</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/130796981</guid><author>shao_yc</author><pubDate>Sun, 21 May 2023 21:45:26 +0800</pubDate><description><![CDATA[后续在开发过程中，可以引入hutool，通过使用HttpUtil的Get和Post方法，可以很方便的发起http方法调用，而不用担心资源释放情况。所以这种方式，是非常推荐的写法。]]></description><category></category></item><item><title><![CDATA[开放API网关的实践]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/130043732</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/130043732</guid><author>shao_yc</author><pubDate>Sun, 09 Apr 2023 16:45:37 +0800</pubDate><description><![CDATA[随着业务发展，系统索要对接的第三方会越来越多，那么如何让第三方快速安全的接入，就会成为各业务系统面临的问题。设计一个具备鉴权、限流、熔断等功能的API网关就显得至关重要，本文的文章目录如下。]]></description><category></category></item><item><title><![CDATA[适配器模式的原理和应用]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129972400</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129972400</guid><author>shao_yc</author><pubDate>Wed, 05 Apr 2023 16:24:08 +0800</pubDate><description><![CDATA[将一个类的接口转换成客户期望的另一个接口。]]></description><category></category></item><item><title><![CDATA[设计模式之命令模式和中介者模式]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129776141</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129776141</guid><author>shao_yc</author><pubDate>Sun, 26 Mar 2023 10:12:38 +0800</pubDate><description><![CDATA[定义：将“请求”封装成对象，以便使用不同的请求
特点：
● 命令模式解决了应用程序中对象的职责以及它们之间的通信方式问题
● 能够实现命令发送者和接受者之间的解耦
类型：行为型
适用场景：
● 请求调用者和请求接收者需要解耦，使得调用者和接收者不直接交互
● 需要抽象出等待执行的行为
优点：
● 降低耦合
● 容易扩展新命令或者一组命令
缺点：
● 命令的无限扩展会增加类的数量，提高系统实现复杂度。命令接口
实体类
具体命令实现类一
具体命令实现类二
员工类（命令的执行者）
测试类
Coding体会：命令模]]></description><category></category></item><item><title><![CDATA[模板方法模式+责任链模式]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129653232</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129653232</guid><author>shao_yc</author><pubDate>Sun, 19 Mar 2023 17:40:21 +0800</pubDate><description><![CDATA[模板方法模式和责任链模式的应用]]></description><category></category></item><item><title><![CDATA[MySQL-分库分表方案]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129653396</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129653396</guid><author>shao_yc</author><pubDate>Sun, 19 Mar 2023 17:35:17 +0800</pubDate><description><![CDATA[常用的MySQL分库分表方案以及常用中间件都有哪些？]]></description><category></category></item><item><title><![CDATA[今日算法：二维数组中的查找+替换空格+从尾到头打印链表]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129480038</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129480038</guid><author>shao_yc</author><pubDate>Sun, 12 Mar 2023 21:58:59 +0800</pubDate><description><![CDATA[基本算法]]></description><category></category></item><item><title><![CDATA[那些开发过程中需要遵守的开发规范]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129206835</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129206835</guid><author>shao_yc</author><pubDate>Fri, 24 Feb 2023 19:31:36 +0800</pubDate><description><![CDATA[产研需要遵循的开发规范]]></description><category></category></item><item><title><![CDATA[最长不含重复字符的子字符串]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129128907</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129128907</guid><author>shao_yc</author><pubDate>Mon, 20 Feb 2023 18:03:48 +0800</pubDate><description><![CDATA[最长不含重复字符的子字符串问题]]></description><category></category></item><item><title><![CDATA[微服务中API网关的作用是什么？]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/129016650</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/129016650</guid><author>shao_yc</author><pubDate>Mon, 13 Feb 2023 20:46:19 +0800</pubDate><description><![CDATA[API网关的作用？]]></description><category></category></item><item><title><![CDATA[滑动窗口的最大值问题]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/128885173</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/128885173</guid><author>shao_yc</author><pubDate>Sat, 04 Feb 2023 20:32:01 +0800</pubDate><description><![CDATA[滑动窗口最大值问题]]></description><category></category></item><item><title><![CDATA[一次JVM垃圾收集全过程]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/128819386</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/128819386</guid><author>shao_yc</author><pubDate>Tue, 31 Jan 2023 17:36:12 +0800</pubDate><description><![CDATA[JVM垃圾收集过程详解]]></description><category></category></item><item><title><![CDATA[【项目启动】IDEA新建项目同步到Github]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/128527498</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/128527498</guid><author>shao_yc</author><pubDate>Tue, 03 Jan 2023 10:21:27 +0800</pubDate><description><![CDATA[IDEA项目代码同步到远程GitHub]]></description><category></category></item><item><title><![CDATA[剑指Offer55-二叉树的深度 讲解]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/128251345</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/128251345</guid><author>shao_yc</author><pubDate>Fri, 09 Dec 2022 13:06:35 +0800</pubDate><description><![CDATA[两种方式解决二叉树深度问题]]></description><category></category></item><item><title><![CDATA[只有不断的学习才能收获成长]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/113052817</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/113052817</guid><author>shao_yc</author><pubDate>Sat, 23 Jan 2021 15:52:37 +0800</pubDate><description><![CDATA[转自知乎李苦李大佬。

25岁那年，我从京东离职，入职百度。在百度认识了当时的架构师久哥（T9级别），因为他的一番话，彻底改变了我的职业生涯，短短三年的时间，我从一枚普通程序员成长为别人眼中的技术大咖。当时因为业务需要，也承蒙久哥照顾，

他跟我说过这样一段话：他问，“如果用5年的时间学习数据库，你能不能成为这个领域的专家？”
我说，“应该可以吧”他说，“你现在25，5年后也才30，30岁就能成为某个领域的专家，为什么不去做呢？你看看周围有多少30岁的人还一事无成，而那个时候的你已经是数据库专家了。”

当]]></description><category></category></item><item><title><![CDATA[【每日一题】移除元素]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/109439644</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/109439644</guid><author>shao_yc</author><pubDate>Sun, 01 Nov 2020 22:40:43 +0800</pubDate><description><![CDATA[题目描述
给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 val 的元素，并返回移除后数组的新长度。
不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例1
给定 nums = [3,2,2,3], val = 3,
函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。
你不需要考虑数组中超出新长度后面的元素。


示例2
给定 nums = [0,1,2,2,3,0,]]></description><category></category></item><item><title><![CDATA[【每日一题】将有序数组转换为二叉搜索树]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/109408321</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/109408321</guid><author>shao_yc</author><pubDate>Sat, 31 Oct 2020 21:50:22 +0800</pubDate><description><![CDATA[题目描述
将一个按照升序排列的有序数组，转换为一棵高度平衡二叉搜索树。
本题中，一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。

示例


思路
二叉搜索树的中序遍历序列是升序序列。我们可以取数组中的中间位置作为根节点，然后递归地设置这个节点的左节点和右节点，左节点是从左端点（left）到中间点（mid）-1的数组的中间节点；右节点是从中间点（mid）+1到右端点的数组的中间节点；递归结束的标志是左指针大于右指针则返回null。算法的时间复杂度为O(n)，空间复杂度为O]]></description><category></category></item><item><title><![CDATA[【每日一题】路径总和的变体]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/109393825</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/109393825</guid><author>shao_yc</author><pubDate>Fri, 30 Oct 2020 22:02:48 +0800</pubDate><description><![CDATA[题目描述
给定一个二叉树，它的每个结点都存放着一个整数值。
找出路径和等于给定数值的路径总数。
路径不需要从根节点开始，也不需要在叶子节点结束，但是路径方向必须是向下的（只能从父节点到子节点）。
二叉树不超过1000个节点，且节点数值范围是 [-1000000,1000000] 的整数。

示例

返回 3。和等于 8 的路径有:

5 -&gt; 3
5 -&gt; 2 -&gt; 1
-3 -&gt; 11


思路1
强遍历，对所有节点，以该节点为起点，遍历其所有子节点，求路径和等于sum的个数，时间]]></description><category></category></item><item><title><![CDATA[【每日一题】调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/109371014</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/109371014</guid><author>shao_yc</author><pubDate>Thu, 29 Oct 2020 21:48:29 +0800</pubDate><description><![CDATA[题目描述
输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。

示例
输入：nums = [1,2,3,4]
输出：[1,3,2,4]
注：[3,1,2,4] 也是正确的答案之一。

思路
双指针法，用一个指针 left 指向数组第一个元素，用另一个指针 right 指向数组最后一个元素，然后判断：如果 left 所指元素为奇数，则left向后移一格，如果right所指元素为偶数，则right向前移一格，两个指针移动好后，交换这两个指针的元素]]></description><category></category></item><item><title><![CDATA[【每日一题】环形链表入环节点]]></title><link>https://blog.youkuaiyun.com/shao_yc/article/details/109339165</link><guid>https://blog.youkuaiyun.com/shao_yc/article/details/109339165</guid><author>shao_yc</author><pubDate>Wed, 28 Oct 2020 18:39:31 +0800</pubDate><description><![CDATA[题目描述
给定一个链表，返回链表开始入环的第一个节点。 如果链表无环，则返回 null。
为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。注意，pos 仅仅是用于标识环的情况，并不会作为参数传递到函数中。

示例1：

输入：head = [3,2,0,-4], pos = 1
输出：返回索引为 1 的链表节点
解释：链表中有一个环，其尾部连接到第二个节点。


示例2：

输入：head = [1], pos ]]></description><category></category></item></channel></rss>