摘要: 前言 本文聊聊 行为型模式中的策略模式。策略模式就是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式使得算法可独立于使用它的客户而变化。 UML 代码案例 源码中的应用 JDK中Arrays.sort(T[] a, Comparator c)这个排序方法,它在内部实现了TimS 阅读全文
posted @ 2020-04-16 19:18 胖大星- 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 前言 本文聊聊数据库中的索引,涉及索引基础数据结构,分类。以及使用索引的缺点。 索引就像一本书的目录,商场里面各个楼层指示图,让我们不需要自己无目的的找,而是能够很快的找到自己想要的。 1. 索引的基础知识 题外话: 数据结构和算法在一般的工作职位中可能遇不到,但是可以看到在源码级、中间件级别还是打 阅读全文
posted @ 2020-04-12 14:44 胖大星- 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 前言 Spring AOP 就是通过代理模式来实现切面编程的。代理模式用来为其他对象提供一种代理,以控制对这个对象的访问。 代理对象在客户端和目标对象之间起到中介的作用。通过控制对这个对象的访问,可以做一些自己想做的事。比如在AOP中,方法调用前打印请求方的信息,结束时记录用时,便于后续分析。还可以 阅读全文
posted @ 2020-04-11 13:46 胖大星- 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是IOC IOC的好处 IOC的思想是将需要的对象通过外部传入进来,而不是自己创建。这样的设计方式更加灵活。在Spring中对象之间的依赖关系也是由IOC容器来维护(类与类之间的依赖关系,使用与被使用)。 IOC的设计也是根据设计模式原则中依赖倒置原则。 IOC 控制反转。通过DI依赖注入 阅读全文
posted @ 2020-04-03 22:25 胖大星- 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 前言 ZooKeeper 是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。Zookeeper提供一个类似Linux文件系统的属性结构,每个节点可存储少量的内存文件,并提供每个节点的监控与通知机制。本文介绍一下Zookeeper基本概念以及介绍一下通过Netty 结合 Zo 阅读全文
posted @ 2020-03-30 21:41 胖大星- 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: 前言: 传统的 IO 模型中,一个线程对应一个连接,当有一个新连接时会创建一个新的线程,死循环接收数据。大多情况时,只有少量时间是有数据可读的,因此会造成资源浪费。 在 NIO 模型中一个死循环检测多个连接是否有数据可读,这就是 selector,然后通过检查 selector 知道那些线程是有数据 阅读全文
posted @ 2020-03-22 21:37 胖大星- 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 前言 简单介绍目前各类数据库的应用场景和特点 行存储 + 产品:MySQL、Oracle + OLTP 行存储 + 对于复杂查询,报表统计 很慢。无论查主库还是从库。 + 事务型 有ACID的 + 关系型数据库。所谓关系模型就是“一对一、一对多、多对多”等关系模型 列存储 + 产品:Hbase + 阅读全文
posted @ 2020-03-12 16:15 胖大星- 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 前言 系统的业务中,网页需要弹窗"报警信息"。前端获取数据的方式通过轮询调后端接口。也考虑过WebSocket 的方式,但好像兼容性不太好。现在发现还有其他更优的方式,在此记录一下。 网页端收服务端的消息的方式 一、轮询拉取 客户端间隔的发送ajax请求服务器的数据。 + 优点:实现简单 + 缺点: 阅读全文
posted @ 2020-02-27 15:04 胖大星- 阅读(1455) 评论(0) 推荐(0) 编辑
摘要: RPC基础以及造一个RPC的轮子需要注意些什么 前言 rpc即远程过程调用,是分布式系统常用的通信方法。远程可以是在一台机器上的不同进程或在不同一个机器上的不同进程。rpc更看重速度,像调用本地方法一样调用远程方法。除 RPC 之外,常见的多系统数据交互方案还有分布式消息队列、HTTP 请求调用、数 阅读全文
posted @ 2020-02-16 10:17 胖大星- 阅读(446) 评论(0) 推荐(0) 编辑
摘要: jdk 集合大家族之Map 前言: 之前章节复习了Collection接口相关,此次我们来一起回顾一下Map相关 。本文基于jdk1.8。 1. HashMap 1.1 概述 + HashMap相对于List的数据结构而言,它是键值对的集合。主要通过提供key值来取相对应的value的值。而不是通过 阅读全文
posted @ 2020-02-13 18:01 胖大星- 阅读(172) 评论(0) 推荐(0) 编辑