摘要: 一、volatile 为了解决缓存不一致性问题,通常来说有以下2种解决方法: 1)通过在总线加LOCK#锁的方式(通过在总线上加LOCK#锁的形式来解决缓存不一致的问题) 2)通过缓存一致性协议(最出名的就是Intel 的MESI协) 这两种方法都是硬件层面的,在语言层面利用volatile以及加锁 阅读全文
posted @ 2019-10-20 10:48 远古大人 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 一、问题 一下代码经测试,打开注释行,子线程就不会陷入while死循环了,为什么呢 可以理解为:如果不加volatile,java编程语言的java memory model允许一个线程读到另一个线程任何一次写进去的值(可以是初值0也可以是主线程写入的1),只要不是happens-after它的就可 阅读全文
posted @ 2019-10-14 16:28 远古大人 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 一、递归与回溯 回溯是暴力求解的一个主要手段,通常是(回溯 + 剪枝) 17. Letter Combinations of a Phone Number Given a string containing digits from 2-9 inclusive, return all possible 阅读全文
posted @ 2019-10-11 16:55 远古大人 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一、二叉树与递归 二叉树具有天然的递归性。 关于递归函数的写法要明确的几个点:1.递归出去的条件(开头一个return (是递归出去条件) 结尾处return(是返回执行的结果)) 2.明确函数的实际意义(以便于后面可以直接按照含义来递归执行) 3.递归过程要执行的逻辑 1.以下简单的递归都是 1) 阅读全文
posted @ 2019-10-11 15:49 远古大人 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 以后同步到csdn中 以下写在https://blog.csdn.net/ycllycll/article/details/102238286中 leetcode322 用BFS 动态规划两种解法写在 279 下面(他们两思想一样) 127. Word Ladder(也是转化为无权图的最短路径-bf 阅读全文
posted @ 2019-10-10 22:26 远古大人 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 先来看看8种排序之间的关系: 一、直接插入排序 代码如下 二、希尔排序 第三、简单选择排序 第四、堆排序 第五、冒泡排序 第六、快排 第七、归并排序 第八、基数排序 参考:https://blog.csdn.net/jiangwei0910410003/article/details/3826178 阅读全文
posted @ 2019-10-10 19:43 远古大人 阅读(622) 评论(0) 推荐(0) 编辑