<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[覃会程的博客]]></title><description><![CDATA[致力于Java开发，喜欢算法]]></description><link>https://blog.youkuaiyun.com/HC199854</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HC199854]]></copyright><item><title><![CDATA[leetcode64题 最小路径和 动态规划和深搜]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/124118530</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/124118530</guid><author>HC199854</author><pubDate>Tue, 12 Apr 2022 11:14:47 +0800</pubDate><description><![CDATA[文章目录题目描述深搜解法动态规划解法
题目描述
给定一个包含非负整数的 m x n 网格 grid ，请找出一条从左上角到右下角的路径，使得路径上的数字总和为最小。
说明：每次只能向下或者向右移动一步。

示例 1：
输入：grid = [[1,3,1],[1,5,1],[4,2,1]]
输出：7
解释：因为路径 1→3→1→1→1 的总和最小。

示例 2：
输入：grid = [[1,2,3],[4,5,6]]
输出：12

提示：
m == grid.length
n == grid[i].lengt]]></description><category></category></item><item><title><![CDATA[Redis6.0 高级]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121766444</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121766444</guid><author>HC199854</author><pubDate>Sun, 02 Jan 2022 16:13:44 +0800</pubDate><description><![CDATA[文章目录Redis_Jedis的使用Redis与Spring Boot整合
Redis_Jedis的使用
Jedis所需要的jar包
&lt;dependency&gt;
	&lt;groupId&gt;redis.clients&lt;/groupId&gt;
	&lt;artifactId&gt;jedis&lt;/artifactId&gt;
	&lt;version&gt;3.2.0&lt;/version&gt;
&lt;/dependency&gt;

连接Redis注意事项
禁用Linux的防]]></description><category></category></item><item><title><![CDATA[Redis6.0基础]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121454978</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121454978</guid><author>HC199854</author><pubDate>Tue, 07 Dec 2021 12:32:59 +0800</pubDate><description><![CDATA[文章目录




]]></description><category></category></item><item><title><![CDATA[分布式全局唯一ID解决方案（雪花算法）]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121442106</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121442106</guid><author>HC199854</author><pubDate>Sat, 20 Nov 2021 17:13:15 +0800</pubDate><description><![CDATA[文章目录为什么需要分布式全局唯一ID以及分布式ID的业务需求为什么无序的UUID会导致入库性能变差呢?数据库自增ID机制适合作分布式ID吗Redis集群实现分布式ID的利弊雪花算法(SonwFlake)使用糊涂工具包实现雪花算法优缺点：



为什么需要分布式全局唯一ID以及分布式ID的业务需求
在复杂分布式系统中，往往需要对大量的数据和消息进行唯一标识
如在美团点评的金融、支付、餐饮、酒店;
猫眼电影等产品的系统中数据日渐增长，对数据分库分表后需要有一个唯一ID来标识一条数据或消息;
此时一个能够生成全局]]></description><category></category></item><item><title><![CDATA[Spring Could（六）Alibaba]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121307474</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121307474</guid><author>HC199854</author><pubDate>Sat, 20 Nov 2021 17:11:14 +0800</pubDate><description><![CDATA[文章目录
Spring Could主要内容结构图：






]]></description><category></category></item><item><title><![CDATA[Spring Could（五）分布式配置中心 消息总线 Stream]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/120614080</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/120614080</guid><author>HC199854</author><pubDate>Sat, 13 Nov 2021 17:33:22 +0800</pubDate><description><![CDATA[文章目录Eureka Server
Eureka Server

流程：

先启动eureka注册中心
启动服务提供者payment支付服务
支付服务启动后会把自身信息(比如服务地址以别名方式主册进eureka)
消费者order服务在需要调用接口时，使用服务别名去注册中心获取实际的RPC远程调用地址
消费者获得调用地址后，底层实际是利用HttpClient技术实现远程调用
消费者获得服务地址后会缓存在本地jvm内存中，默认每间隔30秒更新—次服务调用地址


...]]></description><category></category></item><item><title><![CDATA[SpringCould（四）服务网关GateWay]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121307291</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121307291</guid><author>HC199854</author><pubDate>Sat, 13 Nov 2021 17:25:18 +0800</pubDate><description><![CDATA[文章目录服务网关GateWay和Zuul的对比：Zuul模型GateWay模型：GateWay工作流程GateWay搭建入门配置实现动态路由GateWay常用的PredicateGateWay的Filter
Spring Could主要内容结构图：





服务网关GateWay
SpringCloud Gateway是什么
Cloud全家桶中有个很重要的组件就是网关，在1.x版本中都是采用的Zuul网关。但在2.x版本中，zuul的升级一直跳票，SpringCloud最后自己研发了一个网关替代Zuul,]]></description><category></category></item><item><title><![CDATA[SpringCould（三）Hystrix 实现服务降级和服务熔断]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121307158</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121307158</guid><author>HC199854</author><pubDate>Sat, 13 Nov 2021 17:17:44 +0800</pubDate><description><![CDATA[文章目录Hystrix（断路器）概述Hystrix的重要概念服务降级（fallback）服务熔断（break）服务限流（flowlimit）Hystrix 应用案例Hystrix实现降级服务提供者使用Hystrix降级调用方使用Hystrix降级默认的FallBack通配服务降级FeignFallbackHystrix实现服务熔断
Spring Could主要内容结构图：





Hystrix（断路器）
概述
分布式系统面临的问题
复杂分布式体系结构中的应用程序有数十个依赖关系，每个依赖关系在某些时候将]]></description><category></category></item><item><title><![CDATA[SpringCould（二）Ribbon和OpenFeign]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121306999</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121306999</guid><author>HC199854</author><pubDate>Sat, 13 Nov 2021 17:11:30 +0800</pubDate><description><![CDATA[文章目录Ribbon框架说明Ribbdn默认自带的负载规则替换负载规则轮询负载均衡算法原理：OpenFeignOpenFeign超时控制OpenFeign日志增强
Spring Could主要内容结构图：





Ribbon
Spring Cloud Ribbon是基于Netflix Ribbon实现的—套客户端负载均衡的工具。
简单的说，Ribbon是Netflix发布的开源项目，主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时，重试等。简单的说]]></description><category></category></item><item><title><![CDATA[SpringCould（一）服务注册中心]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/121306728</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/121306728</guid><author>HC199854</author><pubDate>Sat, 13 Nov 2021 16:56:57 +0800</pubDate><description><![CDATA[文章目录服务注册中心EurekaEureka 基础知识什么是服务治理什么是服务注册与发现单机Eureka构建EurekaServer服务安装服务提供者（provider）入驻EurekaServer服务消费者（consumer）入驻EurekaServerEureka工作流程服务发现eureka自我保护理论怎么禁止自我保护机制Zookeeper支付服务注入进zookeeper服务消费者（订单服务）入驻注册中心Consul服务提供者入驻Consul服务消费者入驻Consul三个配置中心的比较
Spring C]]></description><category></category></item><item><title><![CDATA[设计模式总结（Java）]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/120678221</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/120678221</guid><author>HC199854</author><pubDate>Sat, 09 Oct 2021 20:06:31 +0800</pubDate><description><![CDATA[文章目录面向对象设计的基本原则:创建型模式单例模式 （常用）常见应用场景：常见的五种单例模式实现方式：五种单例模式的代码实现：工厂模式 （常用）工厂模式的分类：应用场景三种模式下的代码实现和UML图：建造者模式 （常用）代码实现和UML图原型模式创建型模式总结结构型模式适配器（adapter）模式 （常用）代理模式 （常用）分类：静态代理(静态定义代理类)动态代理(动态生成代理类)：桥接模式(bridge)组合模式(composite)装饰器模式(decorator) （常用）外观模式享元模式(FlyWei]]></description><category></category></item><item><title><![CDATA[HTTP协议]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/120237487</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/120237487</guid><author>HC199854</author><pubDate>Mon, 04 Oct 2021 14:50:41 +0800</pubDate><description><![CDATA[文章目录HTTP一个完整的HTTP请求过程结果状态码（常见的四类）HTTPS
HTTP
一个完整的HTTP请求过程
域名解析 —&gt; 与服务器建立连接 —&gt; 发起HTTP请求 —&gt; 服务器响应HTTP请求，浏览器得到html代码 —&gt; 浏览器解析html代码，并请求html代码中的资源（如js、css、图片） —&gt; 浏览器对页面进行渲染呈现给用户
结果状态码（常见的四类）

HTTPS

SSL/TLS协议的主要作用就是：
  1、认证用户和服务器，保证各自的数据都发送到正确的位]]></description><category></category></item><item><title><![CDATA[Docker的使用]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/119870430</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/119870430</guid><author>HC199854</author><pubDate>Sat, 28 Aug 2021 17:01:21 +0800</pubDate><description><![CDATA[关于编码的心得
docker
1、简介
Docker是一个开源的应用容器引擎；是一个轻量级容器技术；
Docker支持将软件编译成一个镜像；然后在镜像中各种软件做好配置，将镜像发布出去，其他使用者可以直接使用这个镜像；
运行中的这个镜像称为容器，容器启动是非常快速的。

2、核心概念
docker主机(Host)：安装了Docker程序的机器（Docker直接安装在操作系统之上）；
docker客户端(Client)：连接docker主机进行操作；
docker仓库(Registry)：用来保存各种打包好的]]></description><category></category></item><item><title><![CDATA[运行docker镜像，出现Exited (137) 5 seconds ago问题]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/119839134</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/119839134</guid><author>HC199854</author><pubDate>Sat, 21 Aug 2021 14:26:26 +0800</pubDate><description><![CDATA[通过docker ps -a命令查看容器状态，发现状态为：
Exited (137) 5 seconds ago

然后使用docker logs -f container_id命令查看日志信息，发现是代码有错：
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/blockchain/management/BlockchainManagementApplication has been compiled by a m]]></description><category></category></item><item><title><![CDATA[Spring不能直接@autowired注入Static变量问题和解决方案]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/119575907</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/119575907</guid><author>HC199854</author><pubDate>Tue, 10 Aug 2021 17:59:09 +0800</pubDate><description><![CDATA[文章目录Spring不能直接@autowired注入Static变量问题和解决方案导致的一些的问题：解决方案一：使用@PostConstruct注解解决方案二：给静态变量设置Setter方法，在Setter方法上使用@Autowired注解


Spring不能直接@autowired注入Static变量问题和解决方案
@autowired注入Static变量会报java.lang.NullPointerException: null异常。
原因：
当类加载器加载静态变量时，Spring的上下文环境还没有被]]></description><category></category></item><item><title><![CDATA[如何选择Java遍历集合的方式]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/119575286</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/119575286</guid><author>HC199854</author><pubDate>Tue, 10 Aug 2021 17:38:00 +0800</pubDate><description><![CDATA[文章目录foreach的使用注意点：
foreach的使用注意点：

foreach遍历可以修改元素中的值(修改对象中的属性)，但如果修改引用的指向是无效的，因为foreach相当于是拷贝引用，然后进行遍历。
遍历过程中不能添加和删除元素，否则会报ConcurrentModificationException异常。

    @Test
    void test5(){
        // foreach遍历可以修改元素中的值，但如果修改引用的指向是无效的，因为foreach相当于是拷贝引用，然后进行遍]]></description><category></category></item><item><title><![CDATA[SpringBoot学习笔记]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/119275424</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/119275424</guid><author>HC199854</author><pubDate>Sat, 07 Aug 2021 16:51:02 +0800</pubDate><description><![CDATA[文章目录一、Spring Boot 入门1、Spring Boot 简介2、微服务3、环境准备1、MAVEN设置；2、IDEA设置4、Spring Boot HelloWorld1、创建一个maven工程；（jar）2、导入spring boot相关的依赖3、编写一个主程序；启动Spring Boot应用4、编写相关的Controller、Service5、运行主程序测试6、简化部署5、Hello World探究1、POM文件1、父项目2、启动器2、主程序类，主入口类6、使用Spring Initializ]]></description><category></category></item><item><title><![CDATA[LeetCoed热题 HOT 汇总]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/113858774</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/113858774</guid><author>HC199854</author><pubDate>Tue, 20 Jul 2021 17:16:42 +0800</pubDate><description><![CDATA[简单难度：

第1题 两数之和
第20题 有效的括号
第21题 合并两个有序链表
第53题 最大子序和
第70题 爬楼梯（动态规划）
第101题 对称二叉树
第104题 树的最大深度
第121题 买卖股票的最佳时机（动态规划）
第136题 只出现一次的数字
第141题 环形链表的判断
第155题 最小栈（包含min函数的栈）
第160题 相交链表
第169题 超过数组一半的元素
第206题 反转链表
第226题 翻转二叉树
第234题 回文链表
第283题 移动零
第448 找到所有数组中消失的数字
第46]]></description><category></category></item><item><title><![CDATA[LeetCode SQL练习]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/116307335</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/116307335</guid><author>HC199854</author><pubDate>Tue, 20 Jul 2021 17:09:31 +0800</pubDate><description><![CDATA[文章目录176题 第二高的薪水


176题 第二高的薪水
编写一个 SQL 查询，获取 Employee 表中第二高的薪水（Salary） 。
+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+

例如上述 Employee 表，SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水，那么查询应返回 null。
+----]]></description><category></category></item><item><title><![CDATA[gradle学习总结]]></title><link>https://blog.youkuaiyun.com/HC199854/article/details/118462917</link><guid>https://blog.youkuaiyun.com/HC199854/article/details/118462917</guid><author>HC199854</author><pubDate>Fri, 09 Jul 2021 15:48:29 +0800</pubDate><description><![CDATA[文章目录groovy语言的简单使用


groovy语言的简单使用
Gradle 的构建脚本是采用 Groovy 写的，而不是用 XML。
println "hello word!"

//定义变量
def a = 12
println a

def s = "asdfasf"
println s

//定义一个集合
def list = ['a', 'b']
//向集合里添加元素
list &lt;&lt; 'c'
//取出list中的第三个元素
println list.get(2)

//定义一个ma]]></description><category></category></item></channel></rss>