基于 Redis 的 lock 正是基于其单进程单线程及其原子操作来实现的。对于 Redis 来说,同一时刻只可能有一个命令正在操作,也就是说在 Redis 的层面上,请求是串行进行的。 SETNX SETNX 是 Re…
分类:架构
剑指offer第二版-60.n个骰子的点数
本系列导航:剑指offer(第二版)java实现导航帖 面试题60:n个骰子的点数 题目要求: 把n个骰子仍在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值的出现概率。 解题思路: 新加入一个骰子,…
面向对象编程实践--迭代器模式
关键字: 迭代器模式, 关注点分离 返回引言目录 最近工作中,要处理一个生成查询条件问题,代码写的很乱. 认真思考后觉得可以重构一下,让它更加面向对象. 如果大家有更好的建议,欢迎提出讨论。如果有类似问题也可以在评论去提…
Advent of Code Day 6 内存重分配
解题语言不限Java 谜题还有第二部分,不过是留给大家的,能解出第一题的,才能写第二题 又鸽了一天才翻完。 Advent of Code Day 1 逆向验证码 Advent of Code Day 2 损坏校验和 Ad…
设计模式之工厂方法
工厂方法 FactoryMethod Intro 简介 工厂方法模式(Factory Method)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。 特点 工厂方法模式实现时,客…
REST API 规范 - GitHub 实现
背景 本文写作时间:2017 年 3 月 30 日; GitHub 版本:V3; 一直在用前后端分离的方式开发,接口的规范一直在努力使用 REST API 规范,但遇到稍微复杂一点的接口就不知道怎么定义了,例如分页、要查…
剑指offer第二版-18.2删除排序链表中重复的节点
本系列导航:剑指offer(第二版)java实现导航帖 面试题18题目二:删除排序链表中重复的节点 题目要求: 比如[1,2,2,3,3,3],删除之后为[1]; 解题思路: 由于是已经排序好的链表,需要确定重复区域的长…
Java-单例模式
单例模式 @Date 2015.08.24 适用场景 单例对象能保证在一个JVM中,该对象只有一个实例存在 某些类创建比较频繁 某些资源类只能存在一个类控制 同步锁 & 懒加载 对方法加上synchronized…
给程序员编程前的几个建议?
1.编码之前想一想 用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式(如果有的话)适合你将要编码的东西。真的要好好想想,你会很庆幸“浪费”了那几分钟,当你不得不更改或添加东西到代码中,而这只花…
开发者的区别︰ 制造者 vs 修理工
开发者的区别︰ 制造者 vs 修理工 Developer Differences: Makers vs Menders 当你想到一个开发者会想到什么?生活在旧金山在下一个 Facebook 一天工作 23 小时的 基情程…
6大设计原则
打算用一句话概括每一个设计原则 单一职责原则 一个类只负责一项职责,有且仅有一个原因引起类的变更。 里氏替换原则 所有引用基类的地方必须能透明地使用其子类对象。 只要父类能出现的地方子类就可以出现。 依赖倒置原则 高层模…
剑指offer第二版-61.扑克牌中的顺子
本系列导航:剑指offer(第二版)java实现导航帖 面试题61:扑克牌中的顺子 题目要求: 抽取5张牌,判断是不是一个顺子。2-10为数字本身,A为1,J为11,Q为12,K为13,大小王可堪称任意数字。 解题思路:…