摘要: 1、判断奇数偶数 2、交换两个数 代替 3、找出唯一没有重复的数 数字 1、2、2、1、3、3、4、5、4中找出只出现过1次的数 4、位运算代替乘除法 参考文档 [1]: 【算法技巧】位运算装逼指南 [2]: 有助于改善性能的Java代码技巧 [3]: 实用 | 35个可以提高千倍效率的Java代码阅读全文
posted @ 2019-05-31 01:14 MichaelFang 阅读(18) 评论(0) 编辑
摘要: 一、通过Linux命令实现 为什么这个命令会有一个 呢? 是默认的DNS服务器。 二、DNS的理解 DNS的解析流程: 1.客户端访问www.baidu.com,检查浏览器是否有缓存,若无,往下走 2.操作系统检查host文件,有无对应关系,若无,往下走 3.在系统DNS缓存中找,若有返回域名对应的阅读全文
posted @ 2019-05-30 22:33 MichaelFang 阅读(50) 评论(0) 编辑
摘要: 本文主要介绍BitMap的算法思想,以及开源工具类JavaEWAH、RoaringBitmap的简单用法。 一、BitMap 介绍 BitMap使用 ,来标记元素对应的Value。该算法能够 。 假设一个场景,要存0 7以内的数字[3,5,6,1,2],尽可能的节省空间。 一种思路就是单纯使用数组存阅读全文
posted @ 2019-05-28 15:51 MichaelFang 阅读(110) 评论(0) 编辑
摘要: 参考文档 [1]: Spring Cloud Ribbon负载均衡阅读全文
posted @ 2019-05-28 09:46 MichaelFang 阅读(7) 评论(0) 编辑
摘要: 一、两个问题 为什么要持久化 如何持久化 1.1 为什么要持久化? 因为Redis数据存在内存,若服务器宕机或重启,数据会全部丢失,需要有一种机制保证数据不会因为故障丢失。 Redis是单线程的,而持久化就是说Redis需要将线程用到保存数据到磁盘,并且还要服务客户端的请求,持久化的IO会严重影响性阅读全文
posted @ 2019-05-27 17:35 MichaelFang 阅读(19) 评论(0) 编辑
摘要: 一致性 对某个指定的客户端来说,读操作保证能够返回最新的写操作结果。 可用性 非故障的节点在合理的时间内返回合理的响应。 分区容忍性 当出现网络分区后,系统能够继续“履行职责”。 CAP关注的粒度是数据,而不是整个系统。 参考文档 [1]: 请不要再宣称数据库是 CP 或者 AP [2]: 《从0开阅读全文
posted @ 2019-05-27 14:42 MichaelFang 阅读(21) 评论(0) 编辑
摘要: 参考文档 [1]: Paxos算法详细图解阅读全文
posted @ 2019-05-24 15:20 MichaelFang 阅读(6) 评论(0) 编辑
摘要: 参考文档 [1]: 一致性哈希算法原理 [2]: 分布式系统中一致性哈希算法阅读全文
posted @ 2019-05-24 15:19 MichaelFang 阅读(9) 评论(0) 编辑
摘要: 参考文档 [1]: 分布式系统中的幂等性 [2]: 分布式服务接口的幂等性如何设计 [3]: 分布式系统中接口的幂等性阅读全文
posted @ 2019-05-24 15:14 MichaelFang 阅读(7) 评论(0) 编辑
摘要: 一个操作需要进行读变量,写变量两个步骤,多个相同的操作同时进行就会出现并发问题。因为读取和写入两个变量不是原子操作。 分布式锁 分布式锁本质上要实现的目标就是在 Redis 里面占一个“茅坑”,当别的进程也要来占时,发现已经有人蹲在那里了,就只好放弃或者稍后再试。 占坑一般是使用 setnx(set阅读全文
posted @ 2019-05-23 10:41 MichaelFang 阅读(16) 评论(0) 编辑