会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
进击的算法
attaking algorithm & big data
管理
上一页
1
2
3
4
5
6
7
下一页
2018年7月25日
分布式原理之RPC框架
摘要: PRC 即远程服务调用,是实现分布式最基本的方式,而这一实现基于的又是java的反射功能所实现的动态代理。 完全可以自己写一个不到200行的rpc服务: 只需要实现四个类: 0.本地客户端 1. 远程服务的本地代理 2.远程的服务代理 * 功能: 3.远程服务的真正实现者 key : 为什么要用反射
阅读全文
posted @ 2018-07-25 11:29 shawshawwan
阅读(435)
评论(0)
推荐(0)
2018年7月17日
Java实现本地缓存
摘要: 本地缓存的作用: 0.基于LinkedHashMap实现LRU 1) 构造LRUMap类,重写LinkedHashMap中removeEldestEntry方法; 新增元素的时候,会判断当前map大小是否超过DEFAULT_MAX_CAPACITY,超过则移除map中最老的节点; 2)LinkedH
阅读全文
posted @ 2018-07-17 15:34 shawshawwan
阅读(2307)
评论(0)
推荐(0)
2018年7月8日
模版方法模式:封装算法 && 迭代器与组合模式:管理良好的集合
摘要: 1. 模版方法模式:将多个对象相同的算法抽象,泛化出来,形成超类,由这个超类维护相同的算法骨架,而子类实现具体的算法。 一个简单的例子: 模版方法模式在很多框架中都很常见:由框架去控制如何做事情,而由你(框架的使用者)去指定框架算法中的每个步骤的细节。 2.迭代器与组合模式:管理良好的集合
阅读全文
posted @ 2018-07-08 11:05 shawshawwan
阅读(201)
评论(0)
推荐(0)
2018年7月5日
分布式高并发系统设计与分析
摘要: 如何搭建SpringBoot微服务 ThreadPoolExecutor线程池的使用 ReentrantLock和Synchronized的使用场景 数据库锁机制(悲观锁、乐观锁) 分布式锁(RedissLock、Zookeeper) 进程内消息队列(LinkedBlockingQueue、Arra
阅读全文
posted @ 2018-07-05 15:08 shawshawwan
阅读(245)
评论(0)
推荐(0)
2018年6月24日
LeetCode127. Word Ladder
摘要: Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord,
阅读全文
posted @ 2018-06-24 17:22 shawshawwan
阅读(211)
评论(0)
推荐(0)
经典算法之快速选择算法
摘要: 相信快速排序算法这种经典的算法大家并不陌生。但是基于快速算法的各种变形,你了解吗? 其中很重要的一种变形就是快速选择算法,<!--?xml version="1.0" encoding="UTF-8"?--> 通常用来在未排序的数组中寻找第k小/第k大的元素。快速选择及其变种是实际应用中最常使用的高
阅读全文
posted @ 2018-06-24 16:15 shawshawwan
阅读(16940)
评论(0)
推荐(1)
2018年6月23日
代理模式
摘要: 最近看公司的轮子,发现一个 api服务动态代理。于是打算详细看一下代理模式。动态代理很重要,很多框架底层都是基于它实现的。 代理模式及其变体分为很多种:有远程代理、虚拟代理、保护代理,变体有缓存代理、同步代理、防火墙代理和写入时复制代理。 代理的步骤一般分为: 1)代理对象和真实对象建立代理关系 2
阅读全文
posted @ 2018-06-23 12:19 shawshawwan
阅读(231)
评论(0)
推荐(0)
2018年6月20日
Google 三架马车:GFS、BigTable、MapReduce
摘要: 一、GFS Google File System就是HDFS的前身 HDFS 参照了GFS的设计理念,大部分架构设计概念是类似的,比如 HDFS NameNode 相当于 GFS Master,HDFS DataNode 相当于 GFS chunkserver\ 1.设计目标: 多个客户端可以在不需
阅读全文
posted @ 2018-06-20 16:55 shawshawwan
阅读(857)
评论(0)
推荐(0)
2018年6月14日
单例模式
摘要: 一个栗子: 注意构造器是private的,然后uniqueInstance是静态的。静态变量记录该类的唯一实例。 想一想,这会存在什么问题吗? 是不是任何情况下都只是唯一的实例?当我们遇到多线程的时候,事情可能会变得不一样。 解决方法很简单,就是在getinstance方法前加上 但是这样直接对方法
阅读全文
posted @ 2018-06-14 22:27 shawshawwan
阅读(179)
评论(0)
推荐(0)
2018年6月9日
高级数据结构之线段树与扫描线算法
摘要: 1. 扫描线算法 1)原理: 平面扫描线算法通常由扫描线、事件点、当前扫描事件点集合构成:通过扫描线按照某一方向依次扫描,扫描事件点,检查事件点状态,然后新增或删除事件点以更新事件点集合。 2)看一道经典的问题: Lintcode391. 数飞机 给出飞机的起飞和降落时间的列表,用 interval
阅读全文
posted @ 2018-06-09 20:41 shawshawwan
阅读(497)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页