<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m6868668的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m6868668</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m6868668]]></copyright><item><title><![CDATA[如何双写一致]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132848664</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132848664</guid><author>m6868668</author><pubDate>Wed, 13 Sep 2023 16:17:00 +0800</pubDate><description><![CDATA[延迟双删，如果是写操作，我们先把缓存中的数据删除，然后更新数据库，最后再延时删除缓存中的数据，其中这个延时多久不太好确定，在延时的过程中可能会出现脏数据，并不能保证强一致性，所以没有采用它。1.介绍：当修改了数据库的数据也要同时更新缓存的数据，缓存和数据库的数据要保持一致。读操作：缓存命中，直接返回；缓存未命中查询数据库，写入缓存，设定超时时间。]]></description><category></category></item><item><title><![CDATA[缓存雪崩原理及解决]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132848436</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132848436</guid><author>m6868668</author><pubDate>Wed, 13 Sep 2023 11:12:13 +0800</pubDate><description><![CDATA[1.原因：设置缓存时采用了相同的过期时间，导致缓存在某一时刻同时失效，请求全部转发到DB，DB 瞬时压力过重雪崩。给缓存业务添加降级限流策略：ngxin或spring cloud gateway。利用Redis集群提高服务的可用性：哨兵模式、集群模式。给不同的Key的TTL添加随机值。]]></description><category></category></item><item><title><![CDATA[缓存击穿原因及解决]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132847454</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132847454</guid><author>m6868668</author><pubDate>Wed, 13 Sep 2023 10:48:08 +0800</pubDate><description><![CDATA[1）法一：互斥锁：当缓存失效时，不立即去load db，先使用如 Redis 的 setnx 去设置一个互斥锁，当操作成功返回时再进行 load db的操作并回设缓存，否则重试get缓存的方法（强一致性，性能上可能没那么高，锁需要等 ）1.原因：给某一个key设置了过期时间，当key过期的时候，恰好这时间点对这个key有大量的并发请求过来，这些并发的请求可能会瞬间把DB压垮。①：在设置key的时候，设置一个过期时间字段一块存入缓存中，不给当前key设置过期时间。]]></description><category></category></item><item><title><![CDATA[缓存穿透的原理及解决方法]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132845655</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132845655</guid><author>m6868668</author><pubDate>Wed, 13 Sep 2023 09:43:27 +0800</pubDate><description><![CDATA[原理：bitmap（位图）：相当于是一个以（bit）位为单位的数组，数组中每个单元只能存储二进制数0或1，布隆过滤器可以用于检索一个元素是否在一个集合中。1）法一：缓存空数据，查询返回的数据为空，仍把这个空结果进行缓存 {key:1, value:null}1.原因：查询一个不存在的数据，mysql查询不到数据也不会直接写入缓存，就会导致每次请求都查数据库。缺点：消耗内存，可能会发生不一致的问题。优点：内存占用较少，没有多余key。缺点：实现复杂，存在误判。2）法二：使用布隆过滤器。]]></description><category></category></item><item><title><![CDATA[spring-boot-starter-parent导入坐标报红]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132831765</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132831765</guid><author>m6868668</author><pubDate>Tue, 12 Sep 2023 14:44:09 +0800</pubDate><description><![CDATA[2.原因：idea会缓存本地maven仓库已经存在的父依赖元数据，所以我们能看到依赖的位置这些信息。而当我们引入本地仓库不存在的父依赖版本时，虽然依赖已经下载带本地仓库，但idea缓存的元数据并没有更新，因此会报红。3.解决：把idea缓存清一下。]]></description><category></category></item><item><title><![CDATA[[hotel/PRPU786eT1-uQ-bQIoLduw] ElasticsearchStatusException[Elasticsearch exception [type=resource_a]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132528305</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132528305</guid><author>m6868668</author><pubDate>Sun, 27 Aug 2023 21:48:31 +0800</pubDate><description><![CDATA[3）reason=index [hotel/PRPU786eT1-uQ-bQIoLduw] already exists：这指明名称为 hotel/PRPU786eT1-uQ-bQIoLduw 的索引已经存在。2）type=resource_already_exists_exception：这表示资源（在此情况下为索引）已经存在。3.报错原因：正在尝试创建一个已经在 Elasticsearch 实例中存在的索引。4.解决：删除已创建的索引库：DELETE /×××。5.再次运行：成功运行。]]></description><category></category></item><item><title><![CDATA[安装elasticsearch]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132497184</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132497184</guid><author>m6868668</author><pubDate>Fri, 25 Aug 2023 15:47:06 +0800</pubDate><description><![CDATA[6.浏览器访问ip：192.168.11.77:5672。]]></description><category></category></item><item><title><![CDATA[在docker中部署启动RabbitMQ]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132469250</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132469250</guid><author>m6868668</author><pubDate>Thu, 24 Aug 2023 10:52:37 +0800</pubDate><description><![CDATA[4.关机后重启：docker start 44535ec677a9（为mq的id）1.在线拉取：docker pull rabbitmq:3-management。3.浏览器访问ip地址：192.168.11.77：15672。5.查看启动情况：docker ps。]]></description><category></category></item><item><title><![CDATA[docker的安装]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132459943</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132459943</guid><author>m6868668</author><pubDate>Wed, 23 Aug 2023 20:08:23 +0800</pubDate><description><![CDATA[（3）下载docker。（5）启动docker。（1）安装yum工具。（2）更新本地镜像源。]]></description><category></category></item><item><title><![CDATA[Field userClient in cn.itcast.order.service.OrderService required a bean of type ‘cn.itcast.feign.cl]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132452631</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132452631</guid><author>m6868668</author><pubDate>Wed, 23 Aug 2023 15:01:30 +0800</pubDate><description><![CDATA[法一： 指定Feign应该扫描的包： @EnableFeignClients(basePackages = "cn.itcast.feign.clients")法二：指定需要加载的Client接口： @EnableFeignClients(clients = {UserClient.class})]]></description><category></category></item><item><title><![CDATA[nacos启动命令windows]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132444894</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132444894</guid><author>m6868668</author><pubDate>Wed, 23 Aug 2023 09:24:20 +0800</pubDate><description><![CDATA[2.命令：nacos启动命令：startup.cmd -m standalone。1.进入bin目录，在bin下打开cmd。]]></description><category></category></item><item><title><![CDATA[Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection；]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132427846</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132427846</guid><author>m6868668</author><pubDate>Tue, 22 Aug 2023 14:53:12 +0800</pubDate><description><![CDATA[解决报错：重启一遍MySQL，再次运行。]]></description><category></category></item><item><title><![CDATA[hashMap和hashtable方面的知识点]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132427217</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132427217</guid><author>m6868668</author><pubDate>Tue, 22 Aug 2023 14:35:15 +0800</pubDate><description><![CDATA[f) Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。b) Hashtable中的方法是同步的，而HashMap中的方法在缺省情况下是非同步的。e) HashMap可以存null键和null值，不保证元素的顺序恒久不变，它的底层使用的是数组和链表，通过hashCode()方法和equals方法保证键的唯一性。沿此序列逐个单元地查找，直到找到给定的关键字，或者碰到一个开放的地址(即该地址单元为空)为止（若要插入，在探查到开放的地址，则可将待插入的新结点存人该地址单元）。]]></description><category></category></item><item><title><![CDATA[局部内部类，成员内部类]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132420517</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132420517</guid><author>m6868668</author><pubDate>Tue, 22 Aug 2023 09:09:20 +0800</pubDate><description><![CDATA[局部内部类定义在方法中，可以看成局部变量，局部本身就是访问权限修饰，不能有public，protected，public修饰，另外，普通方法中不能定义static内部类。成员内部类定义在类中，可以看成成员变量，可以有public，protected，public，static修饰。]]></description><category></category></item><item><title><![CDATA[com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all se]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132409547</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132409547</guid><author>m6868668</author><pubDate>Mon, 21 Aug 2023 15:31:26 +0800</pubDate><description><![CDATA[1.错误原因：配置文件需要配置的nacos设置错误。2.改正：将nacos换为需要访问的机子的ip地址。]]></description><category></category></item><item><title><![CDATA[Java有5种方式来创建对象]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132395675</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132395675</guid><author>m6868668</author><pubDate>Sun, 20 Aug 2023 20:39:54 +0800</pubDate><description><![CDATA[1、使用 new 关键字（最常用）：2、反射的Class类的newInstance()方法：3、反射的Constructor类的newInstance()方法：4、使用对象克隆clone()方法：5、使用反序列化（ObjectInputStream）的readObject()方法：]]></description><category></category></item><item><title><![CDATA[两个数值进行二元操作]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132354509</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132354509</guid><author>m6868668</author><pubDate>Fri, 18 Aug 2023 09:11:08 +0800</pubDate><description><![CDATA[javaSE核心技术]]></description><category></category></item><item><title><![CDATA[关于调用调用子类构造器]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132348445</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132348445</guid><author>m6868668</author><pubDate>Thu, 17 Aug 2023 20:11:05 +0800</pubDate><description><![CDATA[在调用子类构造器之前，会先调用父类构造器，当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时，是默认调用父类的无参构造器，如果父类中包含有参构造器，却没有无参构造器，则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器，不然就会报错。]]></description><category></category></item><item><title><![CDATA[is-a，like-a，has-a]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132318815</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132318815</guid><author>m6868668</author><pubDate>Wed, 16 Aug 2023 14:28:15 +0800</pubDate><description><![CDATA[is-a，like-a，has-a]]></description><category></category></item><item><title><![CDATA[内部类相关知识]]></title><link>https://blog.youkuaiyun.com/m6868668/article/details/132306695</link><guid>https://blog.youkuaiyun.com/m6868668/article/details/132306695</guid><author>m6868668</author><pubDate>Tue, 15 Aug 2023 20:36:17 +0800</pubDate><description><![CDATA[内部类相关知识]]></description><category></category></item></channel></rss>