07 2018 档案

【模糊搜索排序算法】基于KMP和Levenshtein的模糊搜索实现
摘要:KMP:字符间是否匹配 Levenshtein:字符间转换距离 先贴代码,再补别的 阅读全文

posted @ 2018-07-25 18:54 皮五天 阅读(1629) 评论(0) 推荐(0)

【微服务】仿微服务式集成组件
摘要:一、背景及设计思路 现行多系统间http请求接口方式交互,于是就会产生如下问题:① url或uri需要用数据库或枚举存储,需要查库或者拼接url; ② 系统服务地址都需要在项目中配置定义,没有统一管理,修改添加代码成本大。 以我们项目为例,url地址作为param在数据库中存储,不同环境url的服务 阅读全文

posted @ 2018-07-12 10:42 皮五天 阅读(211) 评论(0) 推荐(0)

【分布式Redis锁】【并发编程】Redis分布式锁实例
摘要:在处理业务代码时,总会遇到多线程对同一资源竞争,此时对已经抢到资源的线程做Lock。 这里暂时先不考虑 是否是公平锁,是否可以重入的情况。 给出实现代码,key为加锁的维度。 阅读全文

posted @ 2018-07-11 17:59 皮五天 阅读(194) 评论(0) 推荐(0)

【中间件】Kafka消息中间件的简单介绍及应用
摘要:一、介绍 注:本文所指版本Kafka 1.1 Kafka是由Apache开发的一款发布订阅消息系统,是分布式的,分区的重复的日志服务。 1、为什么要用kafka? ①、解耦 允许两方修改处理过程,只要遵循共同的接口约束。 ②、灵活性和峰值处理能力 面对突然增加的吞吐量有很好应对,发送信息量50M,消 阅读全文

posted @ 2018-07-10 12:24 皮五天 阅读(1559) 评论(0) 推荐(0)

【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析
摘要:1、背景 在一些业务场景中,在容器启动完成后,需要处理一些诸如:kafka业务注册,数据处理,初始化缓存等的操作。 本文重点介绍如何在服务启动中,或启动完成时执行相关处理。 2、针对上述场景,有如下实现方法 A:实现基于javaweb的ServletContextListener接口,重写conte 阅读全文

posted @ 2018-07-09 18:07 皮五天 阅读(154) 评论(0) 推荐(0)

【Spring框架】 ☞ WebApplicationInitializer源码分析及应用
摘要:1、背景 在约定大于配置的大环境下,xml配置文件越来越多的被零配置所取代。还有大部分将原xml中的配置转为在java类中定义。 而WebApplicationInitializer就可以看做是web.xml的替代者,在启动Web项目时会加载该实现类,实现类中可定义对 servlet、filter、 阅读全文

posted @ 2018-07-09 17:24 皮五天 阅读(300) 评论(0) 推荐(0)

持续学习大纲
摘要:20180717 -- 新坑 1、AOP面向切面编程 20180712 -- 再来新坑 1、职位描述:熟悉SOA,熟练并使用rpc(dubbo,webservice) 2、微服务是什么?Dubbo贴的源码流程分析完善;SpringCloud的实践总结。 20180709 -- 新坑来袭 kafka 阅读全文

posted @ 2018-07-09 11:48 皮五天 阅读(115) 评论(0) 推荐(0)

【JDK源码】 ☞ java.util.concurrent 分析
摘要:一、BlockingQueue相关 继承自Queue,增加了阻塞的入队、出队等特性。 两对方法比较: 1、阻塞方法:put() 若队列有可用空间,则入队,否则等待。 take() 将队首数据出队,若无可用数据,则等待。 take() 将队首数据出队,若无可用数据,则等待。 2、非阻塞方法: offe 阅读全文

posted @ 2018-07-06 10:59 皮五天 阅读(112) 评论(0) 推荐(0)

【linux】常规操作
摘要:总是读一遍记不住,还是记下来吧。。。 常用功能: 1、做服务 2、分区 常用命令: 1、find find . -path '*/common/*' -type f (查找指定文件的类型,f:普通文件,b:块设备文件,d:目录,c:字符设备文件,p:管道文件,l:符号链接文件) find . -pa 阅读全文

posted @ 2018-07-06 10:54 皮五天 阅读(136) 评论(0) 推荐(0)

【Redis】Redis的pub\sub在JAVA中的实践
摘要:一、什么是pub/sub? publish/subscribe ,即发布订阅功能。基于实践系统中,是常用的通信模型,采用事件做为基本的通信机制,提供大规模系统要求的松散耦合的交互方式。订阅者,以事件定义的方式表达出它有兴趣接受的一个时间或一类事件。发布者,发布事件并通知相关订阅者。 同时,pub/s 阅读全文

posted @ 2018-07-06 10:52 皮五天 阅读(1722) 评论(0) 推荐(0)

【Spring框架】 ☞ SpringMVC
摘要:一、介绍 1、什么是MVC框架? MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的 阅读全文

posted @ 2018-07-06 10:46 皮五天 阅读(131) 评论(0) 推荐(0)

导航