Welcome to heavy rain's website

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization

javastream流

javastream流

前言在工作过程中看到类似以下代码,一时间理解不能,static void方法中有return方法,后续意识到这应该是stream流的拦截处理,特此记录巩固java stream的写法 1234567891011121314151617181920212223/** 获取结案操作逻辑处理*/private static void getXXXXByEnum(List<......

消息队列、RabbitMQ简介

消息队列基础、RabbitMQ简介

消息队列简介消息队列MQ(Message Queue)中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和终一致性,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,RocketMQ.其中把数据放到消息队列叫做生产者,从消息队列里边取数据叫做消费者。 消息队列的作用解耦: 假设有A、B2个系统,B系统需要调用A......

布隆过滤器

布隆过滤器

布隆过滤器的优缺点概述优点: 由于存储的是二进制数据,所以占用的空间很小 它的插入和查询速度是非常快的,时间复杂度是O(K),可以联想一下HashMap的过程 保密性很好,因为本身不存储任何原始数据,只有二进制数据 缺点: 存在误判,详细说明与例子见上文布隆器基础介绍部分。 删除困难,试想布隆过滤器存入的几个数据经过计算的hash值相同,那么他们的二进制数组下标也一定相同,删除后导......

常见Java并发中断相关方法

常见Java并发中断方法

背景在极客时间学习09Java线程的生命周期(上)时,课后思考出现了本文没有介绍的isInterrupted()方法,特此记录学习Java并发中断方法。 中断介绍并发编程引用了中断机制无疑证明了中断对多线程并发的裨益,想想死锁的四个条件:互斥、请求与保持、环路等待、不可抢占。中断可以完美的破坏请求与保持、环路等待的死锁条件。再比如有的线程可能迷失在怪圈无法自拔(自旋浪费资源),这时就可以用其......

并发编程初步认识与基础理论(一)

java并发编程认识

学习资源总结来源感谢这位大佬课程的教育与分享,从中我得以管中窥豹一番,本文为并发编程基础理论的个人总结笔记,欢迎大家于下方链接去学习更全面的Java并发编程知识。来源:https://time.geekbang.org/column/intro/159?utm_campaign=guanwang&utm_source=baidu-ad&utm_medium=ppzq-pc&a......

element-ui+mybatis-plus+springboot解决IPage分页问题

element-ui+mybatis-plus+springboot解决IPage分页问题

简介本文应用于ssm框架,解决controller接口返回mybatis-plus封装的IPage类型与Vue.element-ui前端的接收与分页 mybatis-plus中的IPage与Page类首先上源码(部分)接口Ipage类型:IPage的实现类Page: 源码可见Page是IPage的实现类,可见想使用mybatis-plus的封装分页则要明白Page类的属性Page类的属性介绍......

redis缓存雪崩、缓存穿透、缓存击穿与布隆过滤器

redis常见问题与布隆过滤器基础原理介绍

前言redis作为基于内存的非关系型数据库,通过读取缓存有效降低了大数据量访问系统(如购物商城网站)导致的数据库大量的磁盘读写操作,减少了数据库瘫痪、服务器宕机的风险。但是引入redis后也可能会产生新的问题导致redis缓存失效,大量数据访问依旧直接落在数据库上导致数据库瘫痪。本文主要介绍redis缓存雪崩、缓存穿透、缓存击穿与他们的解决方案。 redis常见问题缓存雪崩我们知道redis......

Spring AOP自定义注解

自定义注解

自定义注解类1234567891011import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(value = {......

Redis基础认识

中间件Redis的了解与认识

概述Redis属于NOSQL((NoSQL = Not Only SQL ),意即“不仅仅是SQL”。NoSQL 数据库种类繁多(Redis、Mongodb、HBase、Elasticsearch 等等)),NOSQL的特点是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。无形之间也在架构的层面上带来了可扩展的能力。NoSQL数据库都具有非常高的读写性能,尤其在大量下数据,更......

shiro基础认识

中间件shiro的了解与认识

shiro 简介shiro是apache的一个开源框架,而且呢是一个权限管理的框架,用于实现用户认证、用户授权。spring 中也有一个权限框架 spring security (原名Acegi),它和 spring 依赖过于紧密,没有 shiro 使用简单。shiro 不依赖于 spring,shiro 不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shir......