Raft 一致性算法精要简述和理解(一) 发表于 2016-11-30 Raft 是一种一致性算法, 和 Paxos 的功能一样, 但相比 Paxos 容易理解很多. Raft 将一致性问题分解成了几个部分: Leader Election, Log Replication, Safety,Cluster membership changes. Raft 采用了一种更强 ... 阅读全文 »
JVM | MaxNewSize 和 NewRatio 哪个优先级更高 ? 发表于 2016-11-25 不熟悉 JDK 源码, 直接做实验看结果 : 同时设置 MaxNewSize 和 NewRatio java -Xms200m -Xmx200m -XX:NewSize=100m -XX:MaxNewSize=100m -XX:NewRatio=3 ... jstat -gccapacity 748 ... 阅读全文 »
spring IoC 容器实现(1) - 初始化过程 发表于 2016-11-20 IoC(Inversion of Control, 控制反转), 是指应用本身不负责依赖对象的创建及维护,而 依赖对象 的创建及维护是由外部容器负责的. 核心要了解 IOC 容器内部, 首先要了解 BeanFactory 和 ApplicationContext. BeanFactory 是访问 ... 阅读全文 »
【JVM】 常用的 GC 收集器 发表于 2016-11-19 这篇博客, 主要介绍 jvm 常见的 gc 收集器及其搭配. gc收集器, 是 gc 算法和策略的实现, 主要的 gc 算法已经在之前简单提到过(传送门) , 今天也会涉及到大部分. 接下来, 我们就看看有哪些常见的 gc 收集器. 年轻代收集器 Serial 复制收集器 : 使用-XX:+UseS ... 阅读全文 »
redis key 的过期机制 发表于 2016-11-17 今天有人问了我一个问题:redis 的 key 过期是怎么实现的。我用redis做了几个功能,竟然没有思考这个问题,该死。作为一个敏而好学的好童鞋,立马google和查文档。 redis key 的过期机制 翻了下文档: Redis keys are expired in two ways: a ... 阅读全文 »
使用 xscreensaver 作为 gnome 的锁屏画面 发表于 2016-11-10 背景 因为 gnome3 已经废弃了旧的 gnome-screensaver, 所以可发现屏保默认是一个空的黑屏. 不错的屏保项目 - XScreenSaver 我们可以使用 XScreenSaver 作为我们的屏保管理. 安装: sudo apt-get install xscreensaver ... 阅读全文 »
为 hexo 增加置顶功能 发表于 2016-11-08 hexo blog 没有提供置顶的功能, 但hexo作为一个优秀的开源项目, 代码架构和组织还是很清晰的, 有问题可以直接阅读或修改代码, 下面就通过修改代码来为hexo增加置顶功能. 修改index页的生成代码 generator.jsvim $SITE_HOME/node_modules/h ... 阅读全文 »
hexo 取消TOC的自动折叠 发表于 2016-11-08 因为有bug, 今天更新了hexo-theme-next, 升级到 5.0.1 版本, 发现 TOC 文章目录老是会自动折叠, 翻了下文档, 没有找到相关设置, 算了反正是js和css, 自己动手还快一点. 找到隐藏的css样式 打开chrome的F12调试模式, 查看被隐藏的node, 如下: ... 阅读全文 »
使用 rsync deploy hexo 博客 发表于 2016-11-08 hexo 支持多种部署方式, 如 git repos/rsync/Heroku/FTPSync等, 如果博客使用 github pages 托管, 那么用 git repos 的方式部署最方便了, 如果是自己的vps, rsync是一种不错的方式. 使用 hexo-deployer-rsync 配置 ... 阅读全文 »
canal 搭配 zookeeper 实现 HA 发表于 2016-11-07 canal 作为数据平台的一个重要环节, 若存在单点故障, 对整体后端的影响是非常大的. 实践和经验告诉我们, 关键重要的服务都要进行failover, 以保证系统的可用性. 下面就来介绍一下 canal 搭配 zookeeper 的 HA 方案. 环境搭建 下载并解压canal.deployer- ... 阅读全文 »