会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
饭小胖
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
下一页
2019年5月29日
【分析模式】继承适配模式
摘要: 问题: 曾经遇到一个设计模式的问题:spring里面的HandlerInterceptor有个实现类是HandlerInterceptorAdaptor,这个类的名字是以adaptor结尾的,但是实际就是HandlerInterceptor接口做了几个基本的实现,为什么不叫做AbstractHand
阅读全文
posted @ 2019-05-29 01:26 饭小胖
阅读(337)
评论(0)
推荐(0)
2019年5月7日
【消息队列】【消息中间件】JMS,RocketMQ,Kafka
摘要: 前言 消息中间件首先我们会有三种作用:异步、解耦、削峰; 异步:进程内事件也可以异步,但是无法做分布式系统的异步。 解耦:相对于观察者模式,消息中间件还拥有发布订阅的功能。 削峰:中间件特有,利用中间特效,可以堆积大部分事件。 特性 消息中间件一般要解决的问题: 发布订阅 优先级消息队列 如果是在内
阅读全文
posted @ 2019-05-07 13:37 饭小胖
阅读(649)
评论(0)
推荐(0)
2019年4月23日
【迁移GIT不再维护】【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
摘要: SortSet 有序的Set,其实在Java中TreeSet是SortSet的唯一实现类,内部通过TreeMap实现的;而TreeMap是通过红黑树实现的;而在Redis中是通过跳表实现的; 首先它是一个Set所以它必须有个数组作为随机存储访问的性能log常数的实现 然后它必须有序,有序就需要保证新
阅读全文
posted @ 2019-04-23 01:06 饭小胖
阅读(3504)
评论(0)
推荐(0)
2019年4月21日
【Redis高可用&高并发】主从架构和Sentinel机制
摘要: Redis高可用 对于搭建高可用Redis服务,网上已有了很多方案,例:Keepalived,Codis,Twemproxy,Redis Sentinel。这里介绍官方的解决方案Redis Sentinel,图片来源:https://www.cnblogs.com/xuning/p/8464625.
阅读全文
posted @ 2019-04-21 23:44 饭小胖
阅读(590)
评论(0)
推荐(0)
2019年4月7日
【已迁移到Github不再维护】【缓存篇】Redis大全
摘要: 数据结构 redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。如果需要缓存能够支持更复杂的结构和操作, redis 会是不错的选择。 redis 其实都是key,value的结构,但是value支持以下几种数据类型:string、hash、list、set、sor
阅读全文
posted @ 2019-04-07 16:09 饭小胖
阅读(679)
评论(0)
推荐(0)
空位
摘要: 空位
阅读全文
posted @ 2019-04-07 14:41 饭小胖
阅读(281)
评论(0)
推荐(0)
2019年3月15日
记一次JVM故障排除
摘要: 今天,自己开发的事件驱动的java大规模爬虫程序上线了几个新任务后突然异常。 异常: 程序业务异常,经查看CPU利用率满,内存满,一直报OOM,目测有内存泄露。如下图所示,四核16G的内粗,CPU高达400%,内存使用了 6G,刚好爆满,JVM启动参数为: 内存截图: 分析: 首先找java进程为1
阅读全文
posted @ 2019-03-15 01:39 饭小胖
阅读(430)
评论(0)
推荐(0)
2019年2月24日
Java内存模型锦集
摘要: 【内存操作与内存屏障】 内存模型操作: lock(锁定) : 作用与主内存的变量, 它把一个变量标识为一条线程独占的状态 unlock(解锁) : 作用于主内存变量, 它把一个处于锁定状态的变量释放出来, 释放后的变量才可以被其他线程锁定 read(读取) : 作用于主内存的变量, 它把一个变量的值
阅读全文
posted @ 2019-02-24 18:45 饭小胖
阅读(165)
评论(0)
推荐(0)
2019年2月19日
【测试篇】为什么需要测试
摘要: 如果认真观察程序员把最多的时间耗在哪里,你就会发现,编写代码其实只占非常小的一部分。有些时间用来决定下一步干什么,另一些时间花在设计上,最多的时间则是用来调试;修复错误通常是比较快的,但找出错误却是噩梦一场;当你修复一个bug的时候,还会扯上另一个bug出现。 1、确保所有测试都完全自动化,让他们检
阅读全文
posted @ 2019-02-19 01:12 饭小胖
阅读(523)
评论(0)
推荐(0)
2019年2月14日
【设计篇】高层设计都是扯谈
摘要: 许多人把设计看作软件开发的关键环节,而把写代码认为是机械的劳动,他们认为工程就是画设计图,而写代码就是施工;但是你要知道,软件和机械有很大区别,软件的可塑性更强;正如Alistair Cockburn所说,“有了设计,我可以思考的更快,但其中充满了小漏洞” 另一方面认为,重构可以取代预先设计,意思是
阅读全文
posted @ 2019-02-14 01:26 饭小胖
阅读(161)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
下一页
公告