摘要: 这是了解Spring代理机制的第一篇,尝试了解Spring如何实现Bean的注册和代理。这篇文章会抛出问题:Spring注册Bean,都会用Jdk代理或cglib创建代理对象吗? 阅读全文
posted @ 2020-01-07 14:58 程序猿讲故事 阅读(3968) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章,我们已经实现了分布式锁。今天更进一步,在分布式锁的基础之上,使用ZooKeeper实现读写锁。 阅读全文
posted @ 2019-08-23 12:56 程序猿讲故事 阅读(2265) 评论(0) 推荐(0) 编辑
摘要: 今天介绍基于ZooKeeper的分布式锁的简单实现,包括阻塞锁和非阻塞锁。同时增加了网上很少介绍的基于节点的非阻塞锁实现,主要是为了加深对ZooKeeper的理解。 阅读全文
posted @ 2019-08-21 10:09 程序猿讲故事 阅读(27905) 评论(3) 推荐(1) 编辑
摘要: 使用ZooKeeper实现一个生产-消费者队列,可用于多节点的分布式数据结构。生产者创建一个数据对象,并放到队列中;消费者从队列中取出一个数据对象并进行处理。 阅读全文
posted @ 2019-08-17 15:03 程序猿讲故事 阅读(1444) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章已经完成了ZooKeeper的基本搭建和使用的介绍,现在开始用代码说话。这个例子只实现基本的Watcher功能:当创建或修改数据时,控制台打印当前的数据内容和版本号;当节点被删除时,程序退出。 阅读全文
posted @ 2019-08-15 10:29 程序猿讲故事 阅读(2009) 评论(0) 推荐(0) 编辑
摘要: 介绍Maven Profile的使用技巧,尤其是同时使用多个profile时可能会碰到的问题。 阅读全文
posted @ 2019-07-30 16:41 程序猿讲故事 阅读(7257) 评论(0) 推荐(0) 编辑
摘要: 使用combo select完善原始select的功能,当碰到大数据量时,反应很慢,因为数据是一次性加载。 尝试修改控件的数据加载方案,变更为服务器端模糊搜索,降低数据量,降低页面响应时间。 阅读全文
posted @ 2018-01-02 18:05 程序猿讲故事 阅读(2254) 评论(0) 推荐(0) 编辑
摘要: 准备在MacBook上装一个独立运行MAT工具(Memory Analyzer)的版本,碰到了一点坑,mark一下。 阅读全文
posted @ 2020-01-08 11:20 程序猿讲故事 阅读(4736) 评论(0) 推荐(1) 编辑
摘要: 利用Mysql函数和过程,制作一个数据量能到千万级的数据表;并在此表上验证覆盖索引对查询效率的影响。 阅读全文
posted @ 2019-09-25 15:49 程序猿讲故事 阅读(705) 评论(0) 推荐(2) 编辑
摘要: 在ZooKeeper中,所有的同步调用命令,都会有一个相应的异步调用方法。异步调用能在一个单独线程中同时提交更多的命令,也能在一定程度上简化代码实现。 阅读全文
posted @ 2019-08-30 11:47 程序猿讲故事 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 使用请客吃饭的场景演示在ZooKeeper实现同步屏障(Barrier)算法:一张桌子坐四个人,四个人都到齐后,才能开饭;四个人都吃完以后,才能离开。 阅读全文
posted @ 2019-08-16 11:14 程序猿讲故事 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 要想学习分布式应用,ZooKeeper是一个绕不过去的基础系统。它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 今天先介绍系统的安装和基本使用,后续会推一些基本的Java使用代码。 阅读全文
posted @ 2019-08-14 16:00 程序猿讲故事 阅读(2922) 评论(0) 推荐(0) 编辑