摘要: # 银行家算法防死锁-分析与实现 Banker's Algorithm是一个避免Deadlock的算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计。 ## 算法背景 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要**声明完成该项目所需的最大资金量**,在满足所有贷款要 阅读全文
posted @ 2020-02-03 00:30 Chavin 阅读(596) 评论(0) 推荐(0)
摘要: 关于Picasso加载图片Callback不执行问题 问题背景 代码大致如下,Target或Callback的回调 有时候 不执行。 "https://github.com/square/picasso/issues/352" 第一种:使用Target 第二种:使用Callback 以上代码,通常用 阅读全文
posted @ 2019-08-27 19:40 Chavin 阅读(528) 评论(0) 推荐(0)
摘要: Git随身手册 本文是关于Git探索的一篇文章,阐述了Git的大部分命令和使用方式,并列举了几个典型的使用场景以供参考和体会。 对于Git这个分布式的VCS,从链表的角度来看待是最容易理解的: 一次commit相当于添加一个节点,节点由hash标识,内容就是所做修改的索引;每个分支都是一条链,有一个 阅读全文
posted @ 2019-08-16 15:11 Chavin 阅读(1563) 评论(0) 推荐(0)
摘要: 基于CAS分析对ABA问题的一点思考 什么是CAS? 背景 加锁消耗太大 只保证可见性,不保证原子性 基础 用CPU提供的特殊指令,可以: 1. 自动更新共享数据; 1. 能检测到是否有其他线程的干扰; CAS(Compare and Swap) 不加锁而是尝试去完成替换(写)操作,如果失败就重试, 阅读全文
posted @ 2019-07-28 15:49 Chavin 阅读(219) 评论(0) 推荐(0)
摘要: Java描述表达式求值的两种解法:双栈结构和二叉树 原题大意:表达式求值 求一个非负整数四则混合运算且含嵌套括号表达式的值。如: 数据保证: 1. 保证表达式合法(含除数不为0)。 2. 保证运算数是非负整数。 双栈版 维护两个栈: 符号栈,数字栈,遍历输入串过程中计算 1. 数字直接入栈 2. 符 阅读全文
posted @ 2019-07-20 11:05 Chavin 阅读(612) 评论(0) 推荐(1)
摘要: AS和ADB的随身手册 工欲善其事,必先利其器。 最近因为换了Mac,很多地方有些不太适应,刚好最近有想写一篇记录一些小工具技巧的文章,顺便就把Mac中AS常用的快捷键也一并对应记录起来吧。 以下为Android开发中,比较常用的小技巧,一时间想不起太多,所以先这样,以后有时间持续更新。 Intel 阅读全文
posted @ 2019-07-20 00:12 Chavin 阅读(1693) 评论(0) 推荐(0)