设计模式之适配器模式

将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式是Adapter,也称Wrapper,是指如果一个接口需要B接口,但是待传入的对象却是A接口,怎么办?我们举个例子。如果去美国,我们随身带的电器是无法直接使用的,因为美国的插座标准和中国不
2021年06月05日 690次浏览

spring之事件驱动

谈到Spring 事件驱动模型,我想大家都不陌生,事件驱动模型,通常也可以说是观察者设计模式,对观察者设计模式不熟悉的朋友可以看我之前写的笔记,设计模式java语言实现之观察者模式,在java事件驱动的支持中,EventBus做移动端开发的朋友应该都比较了解,其实,java本身也自带了对事件驱动的支
2021年06月05日 651次浏览

JMH实践-代码性能测试工具

概述JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件JMH比较典型的应用场景有:想准确的知道某个方法需要执行多长时间,以及执行时间和输入之间的相关性;对比接口不同实现在给定条件下的吞吐量;查看多少百分比的请求在多长时间内完成;基本概念模式Throu
2021年06月04日 1,012次浏览

常见容错机制:failover、failfast、failback、failsafe

1.failover:失效转移Fail-Over的含义为“失效转移”,是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。如Mysql的双Master模式,当正在使用的Master出现故障时,可以拿备Master做主使用2.failfast
2021年06月01日 879次浏览

跨域之CORS

CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。一、简介CORS需要浏览器和服务器
2021年05月31日 717次浏览

还在写大量 if 来判断?试试用一个规则执行器来替代它

近日在公司领到一个小需求,需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示:按照上述的条件我们可以得出的结论是:咱们的主要流程主要是基于 and 或者 or 的关系。如果有一个不匹配的话,其实咱们后续的流程是不用执行的,就是需要具备一个短路的功能。对于目前的现状来说,我如果在原有的基
2021年05月19日 900次浏览

海量数据的TOPK问题

1. 抛出问题在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。例如,在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载最高的前10首歌等。针对top K类问题,通常比较好的方案是分治+
2021年04月21日 1,359次浏览

数据结构之大顶堆小顶堆

这是我当初拍的自己的课本23333,我觉得这部书说堆说的还挺清楚的,恰巧这个数据结构不太常用,列出来备忘
2021年04月21日 1,050次浏览

java线程池并行的几种方法

一.前言本文使用了8种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。使用的方法如下:[1] 使用线程的join方法二.实现我们下面需要完成这样一个应用场景:1.早上;2.测试人员、产品经理、开发人员陆
2021年04月07日 796次浏览

mac风扇狂转解决方案

MacBook Pro最近升级了macOS10.15,经常性的CPU温度很高,而且不知道原因,风扇一直在高速转动,散热。即使是盖上盖子也一样。去了西湖Apple直营店,检测也没问题。但是现象确实还存在。被这个风扇的声音烦的要死,但是一直没下定决心去解决掉,总是拖着,今天实在是忍无可忍,决定要好好查查
2021年04月02日 2,746次浏览