摘要: 一、求两个数的最大公约数 如何编程计算N个数的最大公约数(Greatest common divisor)呢?第一想法那便是两两计算,但是往往最简单的想法是不怎么靠谱的。下面用递归来解决。递归有一大好处,那便是递归非常符合人的思维,有时即使很复杂,但是依仗着递归的规律性,可以断定或推测出按递归做是正 阅读全文
posted @ 2019-11-02 15:05 白春雨 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 一、Nginx是什么 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。代理服务器:一般是指局域网内部的 阅读全文
posted @ 2019-10-29 20:46 白春雨 阅读(4646) 评论(0) 推荐(1) 编辑
摘要: 本文是对 Martin Kleppmann 的文章 How to do distributed locking 部分内容的翻译和总结,上次写 Redlock 的原因就是看到了 Martin 的这篇文章,写得很好,特此翻译和总结。感兴趣的同学可以翻看原文,相信会收获良多。 开篇作者认为现在 Redis 阅读全文
posted @ 2019-10-07 19:09 白春雨 阅读(580) 评论(0) 推荐(0) 编辑
摘要: Redis 官方站这篇文章提出了一种权威的基于 Redis 实现分布式锁的方式名叫 Redlock,此种方式比原先的单节点的方法更安全。它可以保证以下特性: 怎么在单节点上实现分布式锁? SET resource_name my_random_value NX PX 30000 主要依靠上述命令,该 阅读全文
posted @ 2019-10-07 19:01 白春雨 阅读(1857) 评论(0) 推荐(1) 编辑
摘要: 面试题 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 面试官心理分析 这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后 阅读全文
posted @ 2019-10-07 18:55 白春雨 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时, 阅读全文
posted @ 2019-10-07 18:49 白春雨 阅读(376) 评论(0) 推荐(0) 编辑
摘要: redis 简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 阅读全文
posted @ 2019-10-07 18:41 白春雨 阅读(13435) 评论(0) 推荐(4) 编辑
摘要: 我们在实际的开发工作中,经常会碰到排序的问题,如题,我们如何针对List集合中的某一个属性进行排序 当list集合中的元素类型是我们自定义类型时,有两种对list中的元素进行排序的方法: 方法一 让list集合中的元素类型,也就是我们自定义的类实现Comparable<T>接口,并在类中编写publ 阅读全文
posted @ 2019-10-06 14:00 白春雨 阅读(18588) 评论(0) 推荐(0) 编辑
摘要: 一、Collections Collections 工具类常用方法: 排序 查找 替换操作 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 示例代码: 查找,替换操作 示例代码: 同步控制 Collections提供了多个synchronizedXxx()方 阅读全文
posted @ 2019-08-23 17:24 白春雨 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 一、final 关键字 final关键字主要用在三个地方:变量、方法、类。 1、对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 2、当用final修饰一个类时,表明这个类不能被继承。final 阅读全文
posted @ 2019-08-23 17:15 白春雨 阅读(1116) 评论(0) 推荐(0) 编辑