<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_49180521的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_49180521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_49180521]]></copyright><item><title><![CDATA[java线程安全：内置锁的可重入性]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/119671405</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/119671405</guid><author>m0_49180521</author><pubDate>Fri, 13 Aug 2021 11:12:33 +0800</pubDate><description><![CDATA[重入：
当某个线程请求一个由其他线程持有的锁时，发出请求的线程就会阻塞。然后，由于内置锁是可重入的，因此如果某个线程试图获得一个已经由它自己持有的锁，那么这个请求就会成功。 “重入” 获取锁的粒度是线程而不是调用。
如果内置锁（synchronized）不可重入：
举例：
    class ParentLock {
        public synchronized void doSomething(){
            // do
        }
    }
    
    class]]></description><category></category></item><item><title><![CDATA[MacOS 安装 go环境]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/119671199</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/119671199</guid><author>m0_49180521</author><pubDate>Fri, 13 Aug 2021 11:11:08 +0800</pubDate><description><![CDATA[安装
Golang官网 或GoLang谷歌
选择下载pkg版本的 直接安装 默认安装路径： /usr/local/go
测试 安装完成
查看安装版本： go version

修改环境变量 vim ~/.bash_profile
添加两条命令：
export GOROOT=/usr/local/go 
export PATH=$PATH:$GOROOT/bin` 

让配置生效： sorce ~/.bash_profile
安装完毕

...]]></description><category></category></item><item><title><![CDATA[算法题[leetcode] 寻找两个正序数组的中位数【困难题目】 python&java解法]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118549441</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118549441</guid><author>m0_49180521</author><pubDate>Wed, 07 Jul 2021 16:09:04 +0800</pubDate><description><![CDATA[leetcode算法题：寻找两个正序数组的中位数   java&amp;python解法
题目概述:


解题思路：
首先，题目是两个有序数组,然后寻找这两个数组中的中位数，我们如果用手算的话，肯定是把两个数组合并成一个，然后算其中的中位数。这是比较简单的解法，但是这道题是困难题目啊，不可能说用双指针合并一下就算完成任务了，这样并没有达到题目要求的log级的时间复杂度。但是不管怎么样，有解法总比没头绪好，我先从O(m+n)级别的时间复杂度来解这道题。
双指针遍历合并数组取中位数 思路：
1.如何合并数组？由]]></description><category></category></item><item><title><![CDATA[PromQL学习 计算集群cpu平均使用率]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118546875</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118546875</guid><author>m0_49180521</author><pubDate>Wed, 07 Jul 2021 15:00:57 +0800</pubDate><description><![CDATA[计算集群cpu平均使用率
通过计算cpu空闲使用率 用1-空闲率   则为cpu使用率


node_cpu_seconds 表示机器在非重启情况下开机到现在所使用的时间（s）


由于cpu资源会不断的被机器利用，其中对应了很多模式，包括内核进程、用户进程、io等待、中断等使用模式


可以通过查询node_cpu_seconds 指标来看各种对应的模式


cpu空闲对应的模式：model=“idle”：空闲的cpu时间


查询cpu空闲使用率：

使用irate计算时间窗口 [5m] 内 cpu空闲]]></description><category></category></item><item><title><![CDATA[算法题[leetcode] 无重复字符的最长子串 python&java解法]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118485865</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118485865</guid><author>m0_49180521</author><pubDate>Mon, 05 Jul 2021 12:07:26 +0800</pubDate><description><![CDATA[leetcode算法题：无重复字符的最长子串  java&amp;python解法
题目概述:

解题思路
涉及到字符串匹配问题，可以解决的办法很多，包括for循环嵌套暴力破(时间复杂度拉满，不推荐)、KMP算法、滑动窗口等等。此题的核心问题是在不重复遍历的情况下如何记录最长字串的长度。
采用滑动窗口+hash表 思路
1.如何记录最大字串长度？定义一个用来"窗口滑动"的指针，当遍历字符串时，如果出现重复字符，需要将"窗口指针"右移。最大字串的长度则为当前遍历到的字符的索引减去指针的值+1，由于每次出现重复]]></description><category></category></item><item><title><![CDATA[算法题[leetcode] 两数相加 python&java解法]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118420703</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118420703</guid><author>m0_49180521</author><pubDate>Fri, 02 Jul 2021 18:20:24 +0800</pubDate><description><![CDATA[leetcode算法题：两数相加 java&amp;python解法
题目概述

解题思路
此题涉及到链表的一些知识，可以通过指针遍历链表来实现。核心问题是如何通过代码实现相加以及进位、如何将结果放进新的链表中。这些问题如果能解决，代码实现也就非常简单。
思路：

需要定义一个链表头节点来作为最终结果的输出；
需要定义一个指针不断指向当前需要插入的节点，来作为尾节点指针，实现结果数的链表。（此处参考链表的尾插法，向链表插入节点时，需要将节点插入到尾部，就让之前的尾节点的next指针指向当前插入的节点 ）
遍]]></description><category></category></item><item><title><![CDATA[算法题[leetcode] 数组全排列 python&java解法]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118388332</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118388332</guid><author>m0_49180521</author><pubDate>Thu, 01 Jul 2021 16:47:00 +0800</pubDate><description><![CDATA[leetcode算法题：数组全排列 java&amp;python解法
题目概述

解题思路
DFS深度优先遍历
思路：

DFS递归回溯算法，通过循环递归的方式对每个位置进行填数（交换），不断的往上回溯。
若原数组为[1,2,3,4]
第一次的回溯结果一定是原数组 每个位置的填充值正好为当前索引值
第二次回溯会回到倒数第二层递归，所以最后两个数字3，4进行交换，结果为[1,2,4,3]，for循环结束，进行回溯
第三次回溯会回到倒数第三层递归，会将2，3两个数字交换，结果为[1,3,2,4] 到此 for]]></description><category></category></item><item><title><![CDATA[算法题[leetcode] 两数之和 python&java解法]]></title><link>https://blog.youkuaiyun.com/m0_49180521/article/details/118385975</link><guid>https://blog.youkuaiyun.com/m0_49180521/article/details/118385975</guid><author>m0_49180521</author><pubDate>Thu, 01 Jul 2021 15:11:43 +0800</pubDate><description><![CDATA[leetcode算法题：两数之和 java&amp;python解法
题目概述

解题思路
这类题目最清晰且最暴力的办法就是双层for循环遍历，直到找到两层遍历的值相加为target为止，但是这种办法的时间复杂度达到了O(n2)，意味着原数组越大，效率越低。
这类找数据的算法题hash表是很好的选择，hash表查找元素平均时间复杂度为O(1)
思路：

从原数组中遍历，记被遍历的值为number,索引为x ，需要的结果为number的索引x，以及target-number的索引。
需要一个hash表(存储k]]></description><category></category></item></channel></rss>