自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

czriven的博客

没有所谓的运气,只有绝对的努力~

  • 博客(14)
  • 收藏
  • 关注

翻译 Redis 和 Zookeeper 实现分布式锁方案对比

为什么用分布式锁?在讨论这个问题之前,我们先来看一个业务场景:系统A是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。此时系统架构如下:但是这样一来会产生一个问题:假如某个时刻,redis里面的某个商品库存为1,此时两个请求同时到来,其中一个请求执行到上图的第3步,更新数据库的库存为0,但是第4步还没有执行。

2020-06-29 23:49:18 662

原创 回溯算法之N皇后搭配终极解法

回溯算法采用的是试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其他的可能的分步解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法来实现,在反复重复上述的步骤后可能出现两种情况:1 找到一个可能存在的正确的答案;2 在尝试了所有可能的分步方法后宣告该问题没有答案在最坏的情况下,回溯法会导致一次复杂度为指数时间的计算。52. N皇后 IIn 皇后问题研究的是如何将 n 个皇后

2020-05-21 22:46:31 308

转载 计算机负数实现:趣谈补码

小亮: 小杨呀,考你个问题。小杨: 我不听,我不听,我不听。小亮: 非常有意思的,你听听。你说如果给你一个计算器,但只能算加法,那你减法该怎么办呀?小杨: 这么神奇的吗,你难道有方法?小亮: 其实原理很简单的,日常生活中我们其实一直都有用到的,你看一下现在闹钟几点了?小杨: 8 点!小亮: 那 3 小时前是几点呢?小杨: 8 - 3 = 58−3=5,55 点!小亮: 那 99 小时以后呢?小杨: 嗯嗯,你等等,一五得五,二五一十,五一劳动节,8 + 9 - 12 = 58+9−12=5

2020-05-20 16:01:44 332

原创 使用BloomFilter布隆过滤器解决缓存穿透、垃圾邮件识别、集合判重

使用BloomFilter布隆过滤器解决缓存穿透、垃圾邮件识别、集合判重简介方案比较优缺点原理如何判断一个元素是否存在一个集合中?布隆过滤器---不存在肯定不存在布隆过滤器添加元素布隆过滤器查询元素布隆过滤器代码实现简介Bloom Filter是一个占用空间很小、效率很高的随机数据结构,它由一个bit数组和一组Hash算法构成。可用于判断一个元素是否在一个集合中,查询效率很高(1-N,最优能逼近于1)。在很多场景下,我们都需要一个能迅速判断一个元素是否在一个集合中。譬如:网页爬虫对URL的去重,避免

2020-05-19 21:58:03 351

原创 高级搜索之双向BFS

高级搜索之双向BFS:从A到L的最短步数,从两边分别向中间BFS,第一次重合的地方就是两者之间的最短路径。

2020-05-18 22:36:03 425

原创 揭开「拓扑排序」的神秘面纱

揭开「拓扑排序」的神秘面纱207. 课程表210. 课程表 II在一个有向无环图中,各个活动间会根据某种依赖关系持续推荐推进直到全部完成。那么所有活动可以排成一个可行线性序列,这个序列就是拓扑序列。在这个图里的边表示的是一种依赖关系,如果要修下一门课,就要先把前一门课修了。这和打游戏里一样的,要拿到一个道具,就要先做 A 任务,再完成 B 任务,最终终于能到达目的地了。拓扑排序序列的实际意义是:按照这个顺序,在每个项目开始时,能够保证它的前驱活动都已完成,从而使整个工程顺利进行。概念解析:入度

2020-05-18 16:11:25 124

原创 拉帮结派之Union-Find 算法

并查集算法,主要是解决图论中「动态连通性」问题的。 //并查集 class UF { // 连通分量个数 private int count; // 存储一棵树 private int[] parent; // 记录树的“重量” private int[] size; public UF(int n) { this.count = n;

2020-05-13 10:34:34 143

原创 二叉树之自底向上递归

二叉树之自底向上递归236. 二叉树的最近公共祖先652. 寻找重复的子树二叉树我们知道使用递归代码会比较简洁,而这些递归题型中大部分题目都是自上向底(正常思维)进行递归,也有自底往上进行递归的题目,以下汇总两道比较典型的:236. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例

2020-05-11 16:45:38 1131

原创 读书有感---圆的故事

讲一个故事:有一个不完整的圆为了找回自己丢失 的碎片,踏上了艰苦的滚动旅程。由于不完整它走的很慢,它尽情的领略日出????的壮观和日落????的浪漫,一路走来它与鲜花为伍,同昆虫做伴。它找到了许多碎片,但都不是它要找的那一块。终于有一天它实现了自己的愿望,然而,当它成了一个完整的圆后,它却无法控制自己的速度,由于滚的太快,错过了沿途的美丽风景,错过了花开的时节,忽略了昆虫,他感受到从未走过的孤独。后来它意识...

2020-04-29 23:13:42 453

原创 一种云平台中基于虚机和订单元信息的跨租户数据迁移实现统一纳管的方法

一种云平台中基于虚机和订单元信息的跨租户数据迁移实现统一纳管的方法一、发明名称一种云平台中基于虚机和订单元信息的跨租户数据迁移实现统一纳管的方法二、技术领域云计算 数据迁移 统一纳管三、现有技术的技术方案现如今,计算机应用已深入到生活和生产的各个角落,其中,云计算应用作为一种网络计算模式而备受关注。云计算的服务模式有 SPI(即 SaaS、PaaS 和 IaaS)这三个大类或层...

2020-04-29 14:14:48 611

原创 动态规划---最长子串/子序列问题序列2

动态规划---最长子串/子序列问题序列2516. 最长回文子序列1143. 最长公共子序列72. 编辑距离516. 最长回文子序列给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。示例 1:输入:"bbbab"输出:4一个可能的最长回文子序列为 "bbbb"。示例 2:输入:"cbbd"输出:2一个可能的最长回文子序列为 "bb"。解法...

2020-04-15 16:20:23 176

原创 动态规划---最长子串/子序列问题序列1

动态规划---最长子串/子序列问题5. 最长回文子串300. 最长上升子序列5. 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解法1:动态规划1、当子串只包含 1 个字符,它...

2020-04-14 23:45:51 360

原创 分布式存储--GlusterFs实践

记录工作之外的一次学习经历,附上自己的实战步骤:GlusterFs实践1 GlusterFS简介2 GlusterFS软件安装Yum安装(较为合适,推荐,系统有可用的yum源):1 创建个卷volume2 挂载使用tar安装(适用于指定的高版本安装,但问题较多,不建议)Rpm包安装(适用于低版本的,因为高版本的依赖的rpm包较多,安装过程较为浪费时间,不建议)**遇到问题**3 Gluste...

2020-04-10 17:50:28 293 2

原创 填坑之解决项目中基本数据类型溢出问题

最近项目上线新的一款产品,XX信用X,价格高的离谱,一个月达百万,也不知道什么土豪等着上线用,真有钱…但是开发时遇到问题,百万在后台配局数据末尾补齐分毫厘后变成:40000000,000,而数据库中价格字段为Integer类型,超过了支持的位数(10位),根本入不了库(坑…),既然这样就改吧,为防止后续其他产品也遇到类似的情况,以及已经考虑到分毫厘这些位了,Mysql里直接使用数据类型bigin...

2020-04-10 17:48:26 282

空空如也

空空如也

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

TA关注的人

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