随笔分类 - 手把手系列
主要是专注于基础的文章
摘要:引言 redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redis,如下图所示 但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说 只要按照redis的协议,发送指定数据给redis,监听返回值即可。 确实,本质原理就是如上面那句话所说。博主也是以这种思
阅读全文
摘要:引言 什么是网关?为什么需要使用网关? 如图所示,在不使用网关的情况下,我们的服务是直接暴露给服务调用方。当调用方增多,势必需要添加定制化访问权限、校验等逻辑。当添加API网关后,再第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制。 本文所实现的网关源码抄袭了 Oh,不
阅读全文
摘要:引言 自上一篇《 "自己动手实现牛逼的单例模式" 》问世之后,得到了不错的评价。于是博主在五一放弃出去游玩机会,赶制了这篇《自己动手循序渐进实现观察者模式》,依然还是一步一步推导出最终版的观察者模式。 观察者模式 定义: 在许多设计中,经常涉及多个对象都对一个特殊对象中的数据变化感兴趣,而且这多个对
阅读全文
摘要:引言 其实写这篇文章之前,我犹豫了一下,毕竟单例大家都知道,写这么一篇文章会不会让人觉得老掉牙。后来想想,就当一种记录吧。先来一副漫画吧,如下图所示 ok,我们回顾下小灰的遭遇,上述漫画所提出的那些问题主要有以下三点: 1. 为什么静态内部类的单例模式是最推荐的? 2. 如何在反射的情况下保证单例?
阅读全文
摘要:引言 本文利用java自带的socket编程实现了一个简单的静态资源服务器,可以响应静态资源。本文一共有两个版本的源码。第一个版本名为Server_v1,该版本实现了一个简单的socket的服务器,帮助读者回忆socket编程。第二个版本名为Server_v2,该版本是对第一版的改良,给出了改良思路
阅读全文
摘要:引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake provider(服务提供者)、battercake consumer(服务调用者)。 设计思路如下: 1、在battercake provider中,写一个服务叫BatterCa
阅读全文
摘要:引言 项目结构如下图所示,maven项目 1、JDK动态代理 先来一段jdk动态代理的demo, 首先创建一个接口,Person 然后写一个实现类PersonImpl 然后写个使用类PersonInvocationHandler 最后 再写个测试类 输出如下 接下里我们不使用JDK的API,自己实现
阅读全文