自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 java线程安全:内置锁的可重入性

重入: 当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。然后,由于内置锁是可重入的,因此如果某个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功。 “重入” 获取锁的粒度是线程而不是调用。 如果内置锁(synchronized)不可重入: 举例: class ParentLock { public synchronized void doSomething(){ // do } } class

2021-08-13 11:12:33 169

原创 MacOS 安装 go环境

安装 Golang官网 或GoLang谷歌 选择下载pkg版本的 直接安装 默认安装路径: /usr/local/go 测试 安装完成 查看安装版本: go version 修改环境变量 vim ~/.bash_profile 添加两条命令: export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin`  让配置生效: sorce ~/.bash_profile 安装完毕 ...

2021-08-13 11:11:08 169

原创 算法题[leetcode] 寻找两个正序数组的中位数【困难题目】 python&java解法

leetcode算法题:寻找两个正序数组的中位数 java&python解法 题目概述: 解题思路: 首先,题目是两个有序数组,然后寻找这两个数组中的中位数,我们如果用手算的话,肯定是把两个数组合并成一个,然后算其中的中位数。这是比较简单的解法,但是这道题是困难题目啊,不可能说用双指针合并一下就算完成任务了,这样并没有达到题目要求的log级的时间复杂度。但是不管怎么样,有解法总比没头绪好,我先从O(m+n)级别的时间复杂度来解这道题。 双指针遍历合并数组取中位数 思路: 1.如何合并数组?由

2021-07-07 16:09:04 132

原创 PromQL学习 计算集群cpu平均使用率

计算集群cpu平均使用率 通过计算cpu空闲使用率 用1-空闲率 则为cpu使用率 node_cpu_seconds 表示机器在非重启情况下开机到现在所使用的时间(s) 由于cpu资源会不断的被机器利用,其中对应了很多模式,包括内核进程、用户进程、io等待、中断等使用模式 可以通过查询node_cpu_seconds 指标来看各种对应的模式 cpu空闲对应的模式:model=“idle”:空闲的cpu时间 查询cpu空闲使用率: 使用irate计算时间窗口 [5m] 内 cpu空闲

2021-07-07 15:00:57 1865

原创 算法题[leetcode] 无重复字符的最长子串 python&java解法

leetcode算法题:无重复字符的最长子串 java&python解法 题目概述: 解题思路 涉及到字符串匹配问题,可以解决的办法很多,包括for循环嵌套暴力破(时间复杂度拉满,不推荐)、KMP算法、滑动窗口等等。此题的核心问题是在不重复遍历的情况下如何记录最长字串的长度。 采用滑动窗口+hash表 思路 1.如何记录最大字串长度?定义一个用来"窗口滑动"的指针,当遍历字符串时,如果出现重复字符,需要将"窗口指针"右移。最大字串的长度则为当前遍历到的字符的索引减去指针的值+1,由于每次出现重复

2021-07-05 12:07:26 128

原创 算法题[leetcode] 两数相加 python&java解法

leetcode算法题:两数相加 java&python解法 题目概述 解题思路 此题涉及到链表的一些知识,可以通过指针遍历链表来实现。核心问题是如何通过代码实现相加以及进位、如何将结果放进新的链表中。这些问题如果能解决,代码实现也就非常简单。 思路: 需要定义一个链表头节点来作为最终结果的输出; 需要定义一个指针不断指向当前需要插入的节点,来作为尾节点指针,实现结果数的链表。(此处参考链表的尾插法,向链表插入节点时,需要将节点插入到尾部,就让之前的尾节点的next指针指向当前插入的节点 ) 遍

2021-07-02 18:20:24 83

原创 算法题[leetcode] 数组全排列 python&java解法

leetcode算法题:数组全排列 java&python解法 题目概述 解题思路 DFS深度优先遍历 思路: DFS递归回溯算法,通过循环递归的方式对每个位置进行填数(交换),不断的往上回溯。 若原数组为[1,2,3,4] 第一次的回溯结果一定是原数组 每个位置的填充值正好为当前索引值 第二次回溯会回到倒数第二层递归,所以最后两个数字3,4进行交换,结果为[1,2,4,3],for循环结束,进行回溯 第三次回溯会回到倒数第三层递归,会将2,3两个数字交换,结果为[1,3,2,4] 到此 for

2021-07-01 16:47:00 152

原创 算法题[leetcode] 两数之和 python&java解法

leetcode算法题:两数之和 java&python解法 题目概述 解题思路 这类题目最清晰且最暴力的办法就是双层for循环遍历,直到找到两层遍历的值相加为target为止,但是这种办法的时间复杂度达到了O(n2),意味着原数组越大,效率越低。 这类找数据的算法题hash表是很好的选择,hash表查找元素平均时间复杂度为O(1) 思路: 从原数组中遍历,记被遍历的值为number,索引为x ,需要的结果为number的索引x,以及target-number的索引。 需要一个hash表(存储k

2021-07-01 15:11:43 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除