<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_44827241的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_44827241</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_44827241]]></copyright><item><title><![CDATA[利用zk实现分布式锁&zk数据同步原理]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/126257638</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/126257638</guid><author>weixin_44827241</author><pubDate>Sun, 21 Aug 2022 23:10:54 +0800</pubDate><description><![CDATA[分布式锁&zk数据同步]]></description><category></category></item><item><title><![CDATA[原理系列之——zookeeper的watch监控机制]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/126092900</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/126092900</guid><author>weixin_44827241</author><pubDate>Mon, 08 Aug 2022 02:20:48 +0800</pubDate><description><![CDATA[watch监控机制是zk的一个关键技术，zk通过它来实现发布订阅的功能，通过watch我们可以联想到设计模式中的观察者模式，二者确实有点类似，你可以将其看成是分布式场景下的观察者模式。]]></description><category></category></item><item><title><![CDATA[Prometheus企业级监控——理论入门]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/123902001</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/123902001</guid><author>weixin_44827241</author><pubDate>Sun, 17 Apr 2022 16:45:50 +0800</pubDate><description><![CDATA[Prometheus理论快速入门，涉及到一点点Grafana和Kubernetes]]></description><category></category></item><item><title><![CDATA[Kafka入门]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/123345956</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/123345956</guid><author>weixin_44827241</author><pubDate>Tue, 08 Mar 2022 14:19:08 +0800</pubDate><description><![CDATA[以下内容是从官网搬过来的一些Kafka相关的基础知识点：
什么事件流
    从技术上讲，事件流是从事件源（如数据库、传感器、移动设备、云服务和软件应用程序）以事件流的形式实时捕获数据的实践；持久存储这些事件流以供以后索引；实时回顾性地操作、处理和响应事件流；并根据需要将事件流路由到不同的目标技术。因此，事件流确保了数据的连续流动和解释，以便正确的信息在正确的时间出现正确的位置。
为什么说Kafka是一个事件流平台
   Kafka结合了三个关键功能，

发布（写入）和订阅（读取）事件流，包括从其他系统持续]]></description><category></category></item><item><title><![CDATA[Centos7集群部署nacos]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/117489240</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/117489240</guid><author>weixin_44827241</author><pubDate>Thu, 03 Jun 2021 09:47:14 +0800</pubDate><description><![CDATA[  下面是我在Centos7下使用Docker部署搭建三台nacos集群
第一步：docker拉取MySQL、Nginx、Nacos最新镜像：
docker pull mysql
docker pull nginx
docker pull nacos/nacos-server

第二部：启动MySQL，开放3306端口，Windows客户端连接MySQL，并创建nacos数据库，将nacos-mysql.sql进行创建：
docker run -p 3306:3306 --name mysql_cloud ]]></description><category></category></item><item><title><![CDATA[采坑日记之openfeign]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/117283264</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/117283264</guid><author>weixin_44827241</author><pubDate>Wed, 26 May 2021 11:24:53 +0800</pubDate><description><![CDATA[  感觉自己已经好久没写文章了哈哈哈哈，昨天下午踩到的一个坑，在今天早上得到了解决，很开心，但是开心的同时又清楚的认识到自己的不足之处，那就是自己在遇到以前很少遇到甚至是没遇到过的bug的时候，很难快速定位并将其解决。所以从今天开始会开设一个专题专门来记录自己的采坑经历。
先来简述下我的场景模拟：
  我开了五个服务：两个Eureka服务注册中心（一个集群），两个服务提供方（一个集群），还有一个消费者。其中两个支付提供方注册进了服务注册中心。
而我踩到的是这么一个坑：
Servlet.service() f]]></description><category></category></item><item><title><![CDATA[IllegalArgumentException: Invalid character found in method name HTTP method names must be tokens]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/116517983</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/116517983</guid><author>weixin_44827241</author><pubDate>Sat, 08 May 2021 09:45:28 +0800</pubDate><description><![CDATA[  最近，做项目的时候遇到如下异常：
java.lang.IllegalArgumentException: Invalid character found in method name [0x160x010x010x00-0x010x000x00)0x010x01`0x950xe9#0x13:0xc2v^0xa6D-0xa5_0xf30xd00xa59]. HTTP method names must be tokens
	at org.apache.coyote.http11.Http11InputBu]]></description><category></category></item><item><title><![CDATA[Java的集合工具类为什么这么香（从算法的角度深入走进Comparable、Comparator、Collections、Arrays）]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115602410</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115602410</guid><author>weixin_44827241</author><pubDate>Thu, 15 Apr 2021 10:06:19 +0800</pubDate><description><![CDATA[深入了解Java的集合工具类：Collections、Arrays、Comparable、Comparator]]></description><category></category></item><item><title><![CDATA[矩阵顺时针转90°]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115654681</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115654681</guid><author>weixin_44827241</author><pubDate>Tue, 13 Apr 2021 09:54:11 +0800</pubDate><description><![CDATA[題目一起來第一反应就是借助额外的内存空间来记录会被被覆盖的数值，但其实看透了是可以不需要使用额外的内存空间，思路如下图


public class Main {
	public static void main(String[] args) {
		// Scanner sc = new Scanner(System.in);
		int[][] matrix = new int[5][5];
		for (int i = 0; i &lt; 25; i++) {
			matrix[i / 5][i %]]></description><category></category></item><item><title><![CDATA[随机链表的复制]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115654009</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115654009</guid><author>weixin_44827241</author><pubDate>Tue, 13 Apr 2021 09:27:43 +0800</pubDate><description><![CDATA[import java.util.HashMap;
public class Main {
	public static void main(String[] args) {
		// Scanner sc = new Scanner(System.in);
		Node p1 = new Node(null, 1, null);
		Node p2 = new Node(null, 2, null);
		Node p3 = new Node(null, 3, null);
		Node p4 = ne.]]></description><category></category></item><item><title><![CDATA[（源码级）一篇文章带你深入了解Java字符串(String、StringBuilder、StringBuffer的底层实现原理)]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115499393</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115499393</guid><author>weixin_44827241</author><pubDate>Sat, 10 Apr 2021 17:34:30 +0800</pubDate><description><![CDATA[本文将主要通过String、StringBuilder、StringBuffer这三者来带您深入了解Java字符串。]]></description><category></category></item><item><title><![CDATA[REPEAT 程序（栈的运用）]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115470034</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115470034</guid><author>weixin_44827241</author><pubDate>Tue, 06 Apr 2021 20:34:47 +0800</pubDate><description><![CDATA[给出一千多行循环伪代码的附件，上图附件，求A的最终结果。这道题是栈的运用，解题如下：
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Stack;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br=new Buffe.]]></description><category></category></item><item><title><![CDATA[测试次数（经典动态规划问题之扔鸡蛋问题）——两种解法：迭代、递归]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115454664</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115454664</guid><author>weixin_44827241</author><pubDate>Tue, 06 Apr 2021 09:55:42 +0800</pubDate><description><![CDATA[x星球的居民脾气不太好，但好在他们生气的时候唯一的异常举动是：摔手机。
各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试，并且评定出一个耐摔指数来，之后才允许上市流通。
x星球有很多高耸入云的高塔，刚好可以用来做耐摔测试。塔的每一层高度都是一样的，与地球上稍有不同的是，他们的第一层不是地面，而是相当于我们的2楼。
如果手机从第7层扔下去没摔坏，但第8层摔坏了，则手机耐摔指数=7。
特别地，如果手机从第1层扔下去就坏了，则耐摔指数=0。
如果到了塔的最高层第n层扔没摔坏，则耐摔指数]]></description><category></category></item><item><title><![CDATA[事务的传播行为]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115300356</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115300356</guid><author>weixin_44827241</author><pubDate>Mon, 29 Mar 2021 14:57:22 +0800</pubDate><description><![CDATA[首先先讲一下数据库事务的四大特性：原子性、一致性、隔离性、持久性：

原子性：整个事务操作，要么同时成功，要么同时失败（中途出现异常情况）。
一致性：事务从开始到结束之后，数据库的完整性约束没有被破坏
隔离性：在同一时间，如果有多个事务需要同时操作，我们会对这多个事务进行串行化，避免多个事务对同一数据进行操作时产生混乱。
持久性：事务操作完成后，已经将数据存入数据库了，这时候就不会进行回滚了
在现实中，我们几乎不会完全遵守这四大特性，因为如果完全遵守的化会导致系统的性能大幅度下降。因此，我们一般会根据实际的]]></description><category></category></item><item><title><![CDATA[人物相关性分析]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115268552</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115268552</guid><author>weixin_44827241</author><pubDate>Sat, 27 Mar 2021 17:43:17 +0800</pubDate><description><![CDATA[【问题描述】
小明正在分析一本小说中的人物相关性。他想知道在小说中Alice 和Bob
有多少次同时出现。
更准确的说，小明定义Alice 和Bob“同时出现”的意思是：在小说文本
中Alice 和Bob 之间不超过K 个字符。
例如以下文本：
This is a story about Alice and Bob. Alice wants to send a private message to Bob.
假设K = 20，则Alice 和Bob 同时出现了2 次，分别是”Alice and Bob”
和]]></description><category></category></item><item><title><![CDATA[蓝桥杯之迷宫问题]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115254973</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115254973</guid><author>weixin_44827241</author><pubDate>Fri, 26 Mar 2021 20:52:11 +0800</pubDate><description><![CDATA[下图给出了一个迷宫的平面图，其中标记为1 的为障碍，标记为0 的为可
以通行的地方。
010000
000100
001001
110000
迷宫的入口为左上角，出口为右下角，在迷宫中，只能从一个位置走到这
个它的上、下、左、右四个方向之一。
对于上面的迷宫，从入口开始，可以按DRRURRDDDR 的顺序通过迷宫，
一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。
对于下面这个更复杂的迷宫（30 行50 列），请找出一种通过迷宫的方式，
其使用的步数最少，在步数最少的前提下，请找出字典序]]></description><category></category></item><item><title><![CDATA[螺旋折线（按四条边去分就够了！）]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115213968</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115213968</guid><author>weixin_44827241</author><pubDate>Thu, 25 Mar 2021 17:31:34 +0800</pubDate><description><![CDATA[找规律题咱就是个菜鸡啊！！！！！！！！刚开始看得出内外嵌套正方形，但就是一直在死磕特殊点啊，什么第N象限啊（陷入死循环）。我真的有点服我自己了。。。做题有时就是最怕这种，当遇到这种情况，要么换角度思考，要么先pass掉。
到最后发现，其实这道题很简单，只要累加嵌套在里面的正方形+四条边分情况去累加就行了。规律题做太少了，智商堪忧啊！！！！！！继续加油吧

如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。
对于整点(X, Y)，我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线]]></description><category></category></item><item><title><![CDATA[蓝桥杯之取球博弈]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115134918</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115134918</guid><author>weixin_44827241</author><pubDate>Tue, 23 Mar 2021 18:12:11 +0800</pubDate><description><![CDATA[【题目】
两个人玩取球的游戏。
一共有N个球，每人轮流取球，每次可取集合{n1,n2,n3}中的任何一个数目。
如果无法继续取球，则游戏结束。
此时，持有奇数个球的一方获胜。
如果两人都是奇数，则为平局。
假设双方都采用最聪明的取法，
第一个取球的人一定能赢吗？
试编程解决这个问题。
输入格式：
第一行3个正整数n1 n2 n3，空格分开，表示每次可取的数目 (0&lt;n1,n2,n3&lt;100)
第二行5个正整数x1 x2 … x5，空格分开，表示5局的初始球数(0&lt;xi&lt;1000)
输]]></description><category></category></item><item><title><![CDATA[蓝桥杯之剪邮票问题]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115124120</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115124120</guid><author>weixin_44827241</author><pubDate>Tue, 23 Mar 2021 14:59:16 +0800</pubDate><description><![CDATA[如图1, 有12张连在一起的12生肖的邮票。

现在你要从中剪下5张来，要求必须是连着的。
（仅仅连接一个角不算相连）
比如，图2、图3中，粉红色所示部分就是合格的剪取。


请你计算，一共有多少种不同的剪取方法。
请填写表示方案数目的整数。
注意：你提交的应该是一个整数，不要填写任何多余的内容或说明性文字。
public class Main {

	static boolean[] book = new boolean[12];
	static int[] path = new int[5];
	sta]]></description><category></category></item><item><title><![CDATA[jar包和war包的区别]]></title><link>https://blog.youkuaiyun.com/weixin_44827241/article/details/115113930</link><guid>https://blog.youkuaiyun.com/weixin_44827241/article/details/115113930</guid><author>weixin_44827241</author><pubDate>Tue, 23 Mar 2021 11:27:13 +0800</pubDate><description><![CDATA[以前知道Java项目打包有两种常用方式：jar和war，但一直不知道两者之间的区别，今天看到了SpringBoot外置Serlvet容器的时候才得知两者之间的区别。简单记录下：

jar包：执行SpringBoot主类的main方法，启动ioc容器，创建嵌入式的Servlet容器；
war包：启动服务器，服务器启动SpringBoot应用【SpringBootServletInitializer】，启动ioc容器；
所以当SpringBoot选择配置外置Servlet容器的时候必须使用war包的方式进行打包]]></description><category></category></item></channel></rss>