- 博客(10)
- 资源 (5)
- 收藏
- 关注
转载 Java设计模式-适配器模式
1 初步认识适配器模式的定义 将一个类的接口转成客户期望的另外一个接口。适配器模式使得原本由于接口不匹配而不能一起工作的那些类可以一起工作。大白话 适配器模式就像旅行插座转换器(图1)、Type-c转VGA转接口(图4)一样。 图1. 图片来源网络 ...
2020-01-14 11:28:04 247
转载 Java设计模式-策略模式
介绍策略模式的思想是提取算法或者行为,对算法或者策略进行封装成类,并装配到一个环境类(context)上,使得环境类可以使用不同的算法或者策略来解决不同的问题。策略模式是一种行为型设计模式。这种设计模式解决的是硬编码场景中的算法扩展问题。针对某一个场景,可能存在多个算法来进行处理。这多个算法,可能是写在一个工具类的不同的方法中,也有可能是写在一个方法中根据不同的条件进行if-else的选择...
2020-01-10 16:08:13 168
转载 JAVA设计模式-观察者模式
1、初步认识观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。2、这个模式的结构图3、可以看到,该模式包含四个角色抽象被观察者角色:也就是一个抽象主题,它把所有对观察者对象的引用保存在一个集合中,...
2020-01-10 14:57:23 123
转载 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
一、缓存雪崩缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。缓存正常从Redis中获取,示意图如下:缓存失效瞬间示意图如下:缓存失效时的雪崩...
2020-01-08 18:01:33 131
转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导...
2020-01-08 17:22:03 160
原创 java算法-快速排序
一、思想该算法在数组中选择一个主元将数组一分为二。使得第一部分中的元素都小于或等于主元,第二部分中的元素都大于主元。然后对第一部分递归应用快速排序算法,对第二部分递归的应用快速排序算法。不过快速排序每次划分都将主元放在了恰当的位置,因为主元的选择直接影响了算法的性能。在理想的情况下,应该选择能平均划分两部分的主元。二、图解三、代码实现 public static void q...
2020-01-06 15:07:55 215
原创 java算法-插入排序
一、原理插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。动图演示:二、代码 publ...
2020-01-04 12:13:37 164
原创 java算法-冒泡排序
一、冒泡排序原理比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。动态图:二、代码...
2020-01-04 10:59:44 101
原创 java算法-二分查找算法
一、二分查找算法思想又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。二、图示说明三、二分查找优缺点优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序...
2020-01-03 15:21:46 418
转载 数据库:数据库水平切分?垂直切分?整合方案?可能存在的问题?
https://blog.csdn.net/fly_as_tadpole/article/details/87870626
2020-01-02 18:05:26 172
mybatis-generator生成工具(最新版,非gui版本)
2020-09-16
Nginx+Tomcat+Redis集群和session共享所有jar包(新)
2018-07-26
Nginx+Tomcat+Redis集群和session共享所有jar包
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人