<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hou11122的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hou11122</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hou11122]]></copyright><item><title><![CDATA[Integer封包解包的问题]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/130401746</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/130401746</guid><author>hou11122</author><pubDate>Thu, 27 Apr 2023 11:59:34 +0800</pubDate><description><![CDATA[乍一看上述的代码似乎没有什么问题（忽略参数繁琐以及其他问题，这里只是为了展示空指针产生的原因），如果demoBean里面的字段都有值的话，上面的代码没有任何问题。但是如果demoBean的结构是如下代码所示。我们只是看源代码估计是不好理解，但是如果把编译之后的class文件反编译再去看的话估计就很好理解了，下面代码是反编译之后的结果。猜测一下会产生什么问题？会产生空指针，是不是一脸懵，看代码判断没问题怎么就会产生空指针了。今天在写一个判断语句的时候，突然出现了一个空指针异常，其伪代码如下所示。]]></description><category></category></item><item><title><![CDATA[Redisson集成到nacos配置中心的问题]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/129744471</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/129744471</guid><author>hou11122</author><pubDate>Mon, 24 Apr 2023 22:37:10 +0800</pubDate><description><![CDATA[因为微服务项目都需要用到redisson，所以就想着将配置提取出来放到nacos上作为共享配置使用，nacos显示已经加载配置文件了，但项目启动后却没有起作用，本地使用的配置是有作用的。使用 |+ 可以保留整段文本最后的所有换行符，使用 |- 可以删除整段文本最后的所有换行符。nacos加载配置文件的时候会进行处理，将文件压缩成一行，一般没问题，但是redisson的配置中会出现一些特殊配置项，比如。这个配置文件看上去没有任何问题，能加载也能读取相关变量，但是就是不能被redisson使用。]]></description><category></category></item><item><title><![CDATA[Spring Cloud Gateway 集成Springdoc OpenAPI3 微服务项目]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/128493062</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/128493062</guid><author>hou11122</author><pubDate>Fri, 30 Dec 2022 11:36:17 +0800</pubDate><description><![CDATA[Spring Cloud Gateway 集成Springdoc OpenAPI3 微服务项目]]></description><category></category></item><item><title><![CDATA[RestTemplate文件参数报错No filename]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/123053451</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/123053451</guid><author>hou11122</author><pubDate>Mon, 21 Feb 2022 19:01:26 +0800</pubDate><description><![CDATA[RestTemplate 文件参数 文件上传 No filename]]></description><category></category></item><item><title><![CDATA[Nginx下部署vue项目访问地址报404以及500错误]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121996661</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121996661</guid><author>hou11122</author><pubDate>Fri, 17 Dec 2021 15:12:58 +0800</pubDate><description><![CDATA[Nginx下部署vue项目访问地址报404以及500错误部署项目访问接口报404部署项目访问接口报500
部署项目访问接口报404
vue中使用的是vue-router跳转的，如果跳到二级菜单，刷新页面的话会出现404页面。这是因为在vue中使用的是js渲染的虚拟目录，而在nginx配置中并没有实际的资源，所有会出现404。
可在nginx.conf文件添加如下配置
location / {
		#这一句配置会导致500错误，下面有更正
		root   /html;
        index  inde]]></description><category></category></item><item><title><![CDATA[学习记录：docker建立镜像和容器]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121946577</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121946577</guid><author>hou11122</author><pubDate>Wed, 15 Dec 2021 10:27:52 +0800</pubDate><description><![CDATA[docker 建立镜像
#Dockerfile内容
#---------------------------------------------------------------------
#基础镜像
FROM Java:8
#作者
MAINTAINER hdj “hou1996sky@163.com”
#挂载目录
VOLUME /tmp
#ADD 添加的内容 新的命名
ADD jar包名 app.jar
#运行的命名
RUN bash -c ‘-touch /app.jar’
#入口即启动后执行的命令]]></description><category></category></item><item><title><![CDATA[IDEA 安装FindBugs插件后启动项目报错：Malformed argument has embedded quote: -Djava.endorsed.dirs=\“\”]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121946288</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121946288</guid><author>hou11122</author><pubDate>Wed, 15 Dec 2021 10:23:16 +0800</pubDate><description><![CDATA[解决办法：
打开Help——Edit custom VM option，在最后一列添加下列代码
-Djdk.lang.Process.allowAmbiguousCommands=true
重启idea

]]></description><category></category></item><item><title><![CDATA[网络OSI七层模型学习]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121675940</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121675940</guid><author>hou11122</author><pubDate>Fri, 03 Dec 2021 15:06:33 +0800</pubDate><description><![CDATA[网络OSI七层模型学习七层模型概要七层模型详解1.应用层定义功能2.表示层定义功能3.会话层定义
互联网人太勤奋（juan）了，不管你到哪都必须是一个全栈程序员才行。
经常会有人（mianshiguan）问你，熟悉网络么，给我简单说一下网络中的OSI模型吧。如果不懂，可能连OSI是个啥玩意都不知道，熟悉一点的可能只会说出每层的名字，只有网络大佬才能把提问题的人给唬住。
七层模型概要

七层模型，亦称OSI（Open System
Interconnection）。参考模型是国际标准化组织（ISO）制定的一个]]></description><category></category></item><item><title><![CDATA[Redis学习笔记3]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121633252</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121633252</guid><author>hou11122</author><pubDate>Wed, 01 Dec 2021 19:30:50 +0800</pubDate><description><![CDATA[Redis-分布式（mianshi）绕不开的话题 使用redis不可避免会遇到的几个问题1.缓存雪崩问题什么是缓存雪崩可能产生缓存雪崩的场景缓存雪崩的解决方案2.缓存穿透问题什么是缓存穿透可能产生缓存穿透的场景缓存穿透的解决方案3.缓存击穿问题什么是缓存击穿可能产生缓存击穿的场景缓存击穿解决方案4.缓存与数据库双写一致性问题5.缓存的并发竞争问题
纸上得来终觉浅，深知此事要躬行。
使用redis不可避免会遇到的几个问题
1.缓存雪崩问题
什么是缓存雪崩
指的是当缓存服务器重启或者有大量的缓存在同一时间集体失]]></description><category></category></item><item><title><![CDATA[Redis学习笔记2]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121552164</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121552164</guid><author>hou11122</author><pubDate>Tue, 30 Nov 2021 12:00:47 +0800</pubDate><description><![CDATA[Redis-分布式（mianshi）绕不开的话题Redis 分布式锁单Redis实例实现分布式锁开原框架Redisson实现分布式锁
Redis 分布式锁
单Redis实例实现分布式锁
获取锁的命令：
SET key unique_value NX PX 30000
该命令尽在key不存在的时候才能被执行成功（NX选项），并且这个key有一个30s的失效时间（PX选项）。该key所对应的unique_value必须是全局唯一的，所有持有该key的用户所拥有的值都不能一样。这样做的目的是为了能更安全的释放锁，]]></description><category></category></item><item><title><![CDATA[Redis学习笔记1]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121336147</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121336147</guid><author>hou11122</author><pubDate>Thu, 25 Nov 2021 19:34:59 +0800</pubDate><description><![CDATA[Redis-分布式（mianshi）绕不开的话题
被打的体无完肤，才能越挫越勇
何为redis
简单讲，redis就和我们常见的mysql，sqlserver，oracle一样都是一种数据库，不同点在于redis面试常问（此处手动狗头）。正经：redis与传统关系型数据库不同，它是一种非关系型数据库即NoSql（not only sql），而且redis的数据是存储在内存中的（也可支持数据持久化，厉害），存取速度非常快，因此redis被广泛用于缓存方向，带来的问题是服务器内存有限且比硬盘珍贵，不过这都不是事]]></description><category></category></item><item><title><![CDATA[怎么分析优化sql语句，MYSQL执行计划怎么用]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/121284300</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/121284300</guid><author>hou11122</author><pubDate>Mon, 15 Nov 2021 10:21:57 +0800</pubDate><description><![CDATA[MYSQL 执行计划
Explain 顾名思义：解释
什么是explain
Explain在mysql中被称为执行计划，在你要查询的语句之前增加 explain 关键字，MySQL 会在查询上设置一个标记，模拟MySQL优化器来执行SQL语句，执行查询时，会返回执行计划的信息，并不执行这条SQL。(注意，如果 from 中包含子查询，仍会执行该子查询，将结果放入临时表中)。
Explain可以用来分析SQL语句和表结构的性能瓶颈。通过执行计划返回的结果，可以了解到如数据表的查询顺序、数据查询操作的操作类型、]]></description><category></category></item><item><title><![CDATA[算法记录（二）]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/120565595</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/120565595</guid><author>hou11122</author><pubDate>Thu, 30 Sep 2021 15:43:55 +0800</pubDate><description><![CDATA[算法记录（二）1、快速排序2、堆排序3、二分查找4、线性查找算法-BFPRT算法5、广度优先搜索算法（BFS）
1、快速排序
原理：该算法是分治法思想的一个应用，在数组中选这一个元素作为基准值，小于基准指的放到数组左边，大于基准值的放到数组右边，等于的随意放，然后在该基准值的左边区域在选择一个基准值，重复挑选步骤，在该基准值的右边也选择一个基准值，重复挑选步骤。最后子序列为长度为1的时候结束排序。
稳定性：不稳定
复杂度：时间复杂度O(nlogn)，空间复杂度O(nlogn)
算法描述：
假设有无序数组：[]]></description><category></category></item><item><title><![CDATA[TCP三次握手四次挥手]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/120560759</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/120560759</guid><author>hou11122</author><pubDate>Thu, 30 Sep 2021 10:44:39 +0800</pubDate><description><![CDATA[TCP三次握手四次挥手简介三次握手四次挥手
简介
传输控制协议（TCP，Transmission Control Protocol）是一种面向连接的、可靠的、基于字节流的传输层通信协议。
先上一张TCP的头部数据结构图


（图片源自网络，如有侵权，联系作者删除）

本文不对TCP做详解，只是用来理解三次握手和四次挥手
从上图我们可以清晰的知道握手和挥手所涉及的几个变量标志。
序号（seq）：Sequence number 缩写seq ，TCP通信过程中某一个传输方向上的字节流的每个字节的序号，通过这个来确]]></description><category></category></item><item><title><![CDATA[算法记录（一）]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/120508809</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/120508809</guid><author>hou11122</author><pubDate>Mon, 27 Sep 2021 15:11:49 +0800</pubDate><description><![CDATA[算法记录一排序算法1、冒泡排序2、选择排序3、插入排序4、希尔排序5、归并排序
排序算法
1、冒泡排序
原理：每一次比较，都将大的数往后排；每一轮比较，都能筛选出本轮的最大数排到数组的末尾。
稳定性：稳定
复杂度：冒泡排序是稳定的，由于该排序算法的每一轮都要遍历一遍所有的元素，轮转的次数和元素数量相当，所以时间复杂度为O(N^2)。因为不占用额外的存储空间，所以空间复杂度为O(1)。
算法描述：
假设有无序随机数组：[5,4,2,6,7,8,1,3,9]
第一轮比较：
第一轮第一次：5和4比较，5&gt;4]]></description><category></category></item><item><title><![CDATA[spring cloud gateway 集成swagger2]]></title><link>https://blog.youkuaiyun.com/hou11122/article/details/120397515</link><guid>https://blog.youkuaiyun.com/hou11122/article/details/120397515</guid><author>hou11122</author><pubDate>Tue, 21 Sep 2021 01:13:35 +0800</pubDate><description><![CDATA[spring cloud gateway 集成swaggwr2前言集成1、maven依赖2、配置Swagger Config3、开发遇到的问题1、不能推断出base URL可能由以下几个原因造成：
前言
我们都知道springcloud的gateway没有采用传统的阻塞式的springMVC框架，为了提升网关的性能，SpringCloud Gateway是基于WebFlux框架实现的，而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty，所有的请求都是异步非阻塞式的请求。而对于Web]]></description><category></category></item></channel></rss>