自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (4)
  • 收藏
  • 关注

原创 《限流算法》 - 滑动时间窗口 - 单机简易版

文章目录《限流算法》 - 滑动时间窗口 - 单机简易版1、pom.xml2、代码3、运行结果《限流算法》 - 滑动时间窗口 - 单机简易版本文示例是基于guava本地缓存的滑动时间窗口限流实现,需要导入guava的Jar依赖。使用guava Cache本地缓存的话,它和普通Map对象类似,普通Map考虑到内存空间问题,需要自己手动移除不需要的键值对。而guava Cache中为了限制内存的使用空间通常会自动的对内存进行回收。本文遗留的问题,在秒为粗粒度的情况下,当前秒的数值并不代表真实的数值,只有

2021-12-23 23:43:26 589

原创 RocketMQ学习笔记 - 顺序消息

文章目录1、定义2、代码示例2.1、生产者2.2、消费者2.3、测试结果1、定义有序消息:应用场景:2、代码示例2.1、生产者2.2、消费者2.3、测试结果

2021-08-08 15:29:17 383

原创 RocketMQ学习笔记 - 安装Console控制台

文章目录1、下载源码2、编译打包3、启动&访问1、下载源码https://github.com/apache/rocketmq-externals/tree/master/wget https://github.com/apache/rocketmq-externals/archive/refs/heads/master.zip --no-check-certificateunzip -o master.zip2、编译打包为了防止编译过程出现Failed during chec

2021-08-08 00:48:23 361

原创 RocketMQ学习笔记 - 事务消息

文章目录1、定义2、代码示例2.1、生产者2.2、消费者2.3、测试结果1、定义事务消息:消息在指定的一段时间后执行的需求任务,我们称之为延时消息。应用场景:例如用户创建订单,30分钟后如果还未支付就作废。订单48小时不做评价,就自动五星好评等。2、代码示例2.1、生产者2.2、消费者2.3、测试结果...

2021-08-08 00:02:20 184

原创 RocketMQ学习笔记 - 延迟消息

文章目录1、定义1、定义

2021-08-07 22:49:56 164

原创 RocketMQ学习笔记 - 批量消息

文章目录1、定义1、定义

2021-08-07 22:23:59 274

原创 RocketMQ学习笔记 - 消费模式 - 集群、广播

文章目录1、定义1、定义

2021-08-05 00:02:27 1712

原创 RocketMQ学习笔记 - 异步消息

文章目录1、定义2、代码示例2.1、生产者2.2、消费者2.3、测试结果1、定义异步消息(可靠异步发送):异步发送是指发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。MQ 的异步发送,需要用户实现异步发送回调接口(SendCallback),在执行消息的异步发送时,应用不需要等待服务器响应即可直接返回,通过回调接口接收服务器响应,并对服务器的响应结果进行处理。应用场景:异步发送一般用于链路耗时较长,对 RT 响应时间较为敏感的业务场景,例如用户视频上传后通知启动转码服务,转码完

2021-08-04 23:35:09 765

原创 RocketMQ学习笔记 - 单向消息

文章目录1、定义2、代码示例2.1、生产者2.2、消费者2.3、测试结果1、定义同步消息(可靠同步发送):同步发送是指消息发送方发出数据后,会阻塞直到MQ服务方发回响应消息。应用场景:此种方式应用场景非常广泛,例如重要通知邮件、报名短信通知、营销短信系统等。2、代码示例2.1、生产者2.2、消费者2.3、测试结果...

2021-08-04 23:34:34 1774

原创 RocketMQ学习笔记 - 同步消息

文章目录1、定义2、代码示例2.1、生产者2.2、消费者2.3、测试结果1、定义同步消息(可靠同步发送):同步发送是指消息发送方发出数据后,会阻塞直到MQ服务方发回响应消息。应用场景:此种方式应用场景非常广泛,例如重要通知邮件、报名短信通知、营销短信系统等。2、代码示例2.1、生产者package com.wzl.rocketmq.base.producer;import org.apache.rocketmq.client.exception.MQClientException;i

2021-08-04 23:33:42 510

原创 数据库三范式和反范式学习心得

文章目录1、第一范式2、第二范式3、第三范式4、反范式5、范式与反范式优缺点1、第一范式要求表中字段,具有原子性,不可再分解错误的表设计一个【联系方式】有手机号码、邮箱地址、和微信号,所以不符合第一范式正确的表设计【联系方式】字段,应拆分为手机号码,电子邮箱,居住地址,三个字段此处的【居住地址】是否就是不符合第一范式呢?也必须拆分成:省、市、区,详细地址几个字段呢?具有原子性,不可再分解。是要根据使用方便来自定义的最小单位如果该字段只作为整体使用,没有场景单独获取或操

2021-08-04 01:56:21 219

原创 RocketMQ-4.9.0安装(单机版)

文章目录1、安装JDK1.82、下载RocketMQ3、解压RocketMQ4、启动RocketMQ4.1、启动&关闭nameserver4.2、启动&关闭broker5、验证RocketMQ1、安装JDK1.8CentOS安装JDK的三种方法2、下载RocketMQ打开 RocketMQ 官方文档, 我们选择已编译的版本下载,省去 Maven 编译的过程cd /optwget https://mirrors.tuna.tsinghua.edu.cn/apache/roc

2021-08-01 17:51:41 1715 1

原创 Java如何删除List集合中的元素

https://blog.csdn.net/nrsc272420199/article/details/105371374

2021-07-24 03:05:18 1646 2

原创 Java线程的六种状态及切换

文章目录1、线程状态分类2、状态之间的转换状态图3、线程状态代码示例3.1、NEW3.2、RUNNABLE3.3、BLOCKED3.4、WAITING3.5、TIMED_WAITING3.6、TERMINATED1、线程状态分类Java线程一共划分为6种状态,同一个时刻,线程只能属于其中一种状态,通过线程的getState方法可以获取线程的状态。在Thread类中有一个内部枚举类public enum State,可以看到六种状态的详细介绍状态含义说明NEW初始线程对象已

2021-07-24 02:07:36 546 1

原创 基于Netty和WebSocket实现的简易版聊天网页

文章目录1、pom.xml引入依赖2、建立netty服务器启动类3、创建初始化类4、创建助手类5、前端页面6、测试效果基于Netty和WebSocket实现的简易版聊天网页1、pom.xml引入依赖<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.43.Final</ve

2021-07-16 00:02:58 191 4

原创 CAP理论

文章目录1、CAP原则2、CAP详细介绍2.1、Consistency(一致性)2.2、Availability(可用性)2.3、Partition tolerance(分区容错性)3、CAP为什么不能同时满足?3.1、放弃其中一项3.2、总结4、对CAP理论的误解1、CAP原则CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。在绝大多数分布式系统场景中,通

2021-07-15 00:20:05 321

原创 Alibaba Sentinel Nacos 持久化规则

文章目录1、为什么需要持久化2、Sentinel + Nacos持久化配置2.1、pom.xml2.2、bootstrap.yml2.3、Naocs控制台添加配置2.3.1、流控规则xman-service-a-flow-sentinel.json2.3.1、降级规则xman-service-a-degrade-sentinel.json2.3.1、热点规则xman-service-a-param-flow-sentinel.json2.3.1、系统规则xman-service-a-system-senti

2021-07-11 02:15:58 315 1

原创 记录redisTemplate set方法保存出现invalid stream header: 00000000和内容x00问题

文章目录1、问题2、重现3、原因3.1、set(K key, V value, long offset)3.2、set(K key, V value, final long timeout, final TimeUnit unit)4、解决1、问题使用redisTemplate.opsForValue().set存入的数据,再get获取的时候直接抛出了异常java.io.StreamCorruptedException: invalid stream header: 00000000org.sprin

2021-07-10 20:09:56 3177 3

原创 Alibaba Sentinel 管控规则

文章目录1、Sentinel控制台UI功能2、五类管控规则2.1、流控规则2.2、降级规则2.3、热点规则2.4、系统规则2.5、授权规则1、Sentinel控制台UI功能Sentinel控制台UI功能:名称概述用法其他实时监控采集当前资源的限流信息观察簇点链路把代码中植入的资源上报统一熔断、限流自动上报功能,很棒流控规则限流根据资源, 支持访问资源的QPS和访问资源的线程数限流一般是限制 QPS降级规则熔断降级根据资源,请求超时、异常

2021-07-10 01:28:03 269 2

原创 Alibaba Sentinel @SentinelResource(blockHandler和fallback)

文章目录1、前言2、blockHandler2.1、fallback的定义2.2、fallback函数签名和位置要求2.3、只有fallback存在时3、fallback4、blockHandler和fallback同时存在时1、前言本章内容讲述Alibaba Sentinel中,关于@SentinelResource注解blockHandler和fallback参数的含义。下面就是一个典型的@SentinelResource注解示例@GetMapping(value = "/userpass/{id

2021-07-08 04:09:09 521 4

原创 运维技能 之 Java内存溢出Out Of Memory原因排查

文章目录1、前言2、MAT独立程序的下载安装3、得到一个内存溢出的dump3.1、主动方式3.2、被动方式4、MAT工具对dump文件的分析1、前言生产环境中,我们可能会遇到Java内存溢出Out Of Memory。此时我们可以借助内存分析工具MAT(Memory Analyzer Tool),来定位是哪里出现了问题。2、MAT独立程序的下载安装MAT(Memory Analyzer Tool)下载地址:http://www.eclipse.org/mat/downloads.php根据自己

2021-07-04 23:30:44 721 3

原创 运维技能 之 CPU高原因排查

文章目录1、前言1、前言

2021-06-28 00:02:42 2102 22

原创 多线程并发 之 判断线程任务是否全部结束

文章目录1、前言1、前言

2021-06-27 21:25:32 3590 1

原创 基于Redis实现分布式锁(lua脚本版)

文章目录1、前言2、分布式锁3、基于Redis实现分布式锁1、前言在Java中,我们通过锁,来避免由于竞争而造成的数据不一致问题。通常我们以synchronized 、Lock来使用它。但是Java中的锁,只能保证在同一个JVM进程内中执行,在分布式系统上则不可靠了。2、分布式锁分布式锁,是一种思想,它的实现方式有很多。比如,我们将沙滩当做分布式锁的组件,那么它看起来应该是这样的:加锁在沙滩上踩一脚,留下自己的脚印,就对应了加锁操作。其他进程或者线程,看到沙滩上已经有脚印,证明锁已被别人

2021-05-12 00:39:00 1210

原创 基于Redis实现高并发计数器(lua脚本版)

文章目录1、业务需求背景2、代码实现2.1、RedisConfig.java2.2、RedisController.java2.3、redis_incr.lua3、测试效果4、总结1、业务需求背景一个手机号一天限制发送5条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。2、代码实现2.1、RedisConfig.javapackage com.demo.configuration;import org.springframework.context.annotation.

2021-05-11 02:04:52 1238 2

原创 ThreadLocal深入解读

文章目录1、ThreadLocal是什么2、ThreadLocal可以做什么2.1、管理Connection2.2、避免一些参数传递3、ThreadLocal实现的原理3.1、ThreadLocal的set()方法3.2、ThreadLocalMap深入解读3.3、ThreadLocal的get()方法3.4、ThreadLocal原理总结1、ThreadLocal是什么ThreadLocal是多线程环境下,为了变量安全提供的一种解决方案。ThreadLocal提供了线程的局部变量,每个线程都可以通过s

2021-05-05 13:18:46 126 1

原创 JVM垃圾回收机制与垃圾收集器

1111

2021-05-03 23:18:25 116

原创 限流算法

文章目录1、计数器(固定窗口)算法2、计数器(滑动窗口)算法3、令牌桶算法4、漏桶算法在大型电商等系统中,我们回努力提升API的吞吐量和QPS(Query Per Second每秒查询量),但总归有上限。为了应对巨大流量的瞬间提交,我们会做对应的限流处理。那么何为限流呢?顾名思义,限流就是限制流量,就像你手机包了1个月1个G的流量,用完了就没了,就必须等下一个月了。通过限流,我们可以很好地控制系统的QPS,从而达到保护系统的目的。算法确定参数空间复杂度时间复杂度限制突发流量

2021-04-27 01:35:54 268

原创 乐观锁和悲观锁

文章目录一、分别是什么?1、乐观锁2、悲观锁二、如何选择?一、分别是什么?1、乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。乐观锁的实现:CAS(Compare and Swap)实现:Java中java.util.concurrent.atomic

2021-04-23 02:36:37 246

原创 try、catch、finally关于return语句的执行情况

文章目录1、无异常的情况1.1、只有try有return的情况1.2、只有try、catch有return的情况1.3、只有try、finally有return的情况1.4、try、catch、finally都有return的情况2、有异常的情况2.1、只有try、catch有return的情况2.2、只有try、finally有return的情况2.3、try、catch、finally都有return的情况3、总结1、无异常的情况1.1、只有try有return的情况public class Te

2021-03-28 22:54:58 144

原创 Redis的过期策略和内存淘汰机制

文章目录一、Redis的过期策略1、定时定期2、惰性删除3、定期删除二、Redis的内存淘汰机制一、Redis的过期策略1、定时定期2、惰性删除3、定期删除二、Redis的内存淘汰机制

2021-03-23 23:15:19 132

原创 CentOS7环境安装Redis

文章目录一、根据想要安装的版本,获得下载链接二、安装步骤1、安装gcc依赖2、使用wget下载gz包3、解压下载的gz包4、cd切换到redis解压目录下,执行编译5、安装并指定安装目录6、拷贝和修改配置文件6、开放防火墙端口且生效6、启动7、测试是否正常8、设置开机自启动一、根据想要安装的版本,获得下载链接http://download.redis.io/releases/二、安装步骤1、安装gcc依赖由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境yum i

2021-03-23 22:24:25 171

原创 java.lang.AutoCloseable接口

文章目录1、AutoCloseable接口的介绍2、AutoCloseable接口代码示例1、AutoCloseable接口的介绍从AutoCloseable的注释可知它的出现是为了更好的管理资源,准确说是资源的释放.当一个资源类实现了该接口close方法,在使用try-catch-resources语法创建的资源抛出异常后,JVM会自动调用close 方法进行资源释放.当没有抛出异常正常退出try-block时候也会调用close方法。像数据库链接类Connection,io类InputStr

2021-03-22 21:52:27 568

原创 分布式锁之Redisson

文章目录一、Redisson分布式锁的介绍二、SpringBoot集成Redisson2.1、基础配置2.2、基础代码2.3、测试代码2.4、测试结果2.4.1、单线程情况2.4.2、并发情况(验证可重入锁)2.4.3、突然业务中断情况(验证锁是否会释放)2.4.4、设置了锁超时时间的情况(验证锁是否会到期释放)一、Redisson分布式锁的介绍Redisson实现分布式锁(1)—原理二、SpringBoot集成Redisson2.1、基础配置pom.xml<project xmln

2021-01-31 23:11:35 253

原创 SpringMVC源码学习

文章目录一、SpringMVC请求处理流程二、SpringMVC各组件功能说明一、SpringMVC请求处理流程二、SpringMVC各组件功能说明名称中文含义提供者说明DispatcherServlet前端控制器框架提供负责请求分发,处理响应结果,相当于是SpringMVC的总管家HanlerMapping处理器映射器框架提供负责URL到Controller的映射,根据request查找处理的HandlerHandlerAdapter处理器适配器

2021-01-28 00:07:04 125

原创 ThreadPoolExecutor线程池详解

文章目录一、基本概念二、缓冲队列BlockingQueue三、饱和策略RejectedExecutionHandler四、线程池的工作方式四、代码演示一、基本概念ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,BlockingQueue,AliveTime,拒绝策略等。常用构造方法public ThreadPoolExecutor(int corePoolSize,

2020-12-06 17:59:58 307

原创 BlockingQueue队列之DelayQueue

文章目录1、基本概念2、DelayQueue能做什么3、实例展示1、基本概念DelayQueue是一个无界的BlockingQueue,它本质就是封装了一个PriorityQueue(优先队列),用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到DelayQueue队列中。2、DelayQueue能做什么1、淘宝订单业务,下单超过30分钟没有付款就自动取消订单(过期订单自动取消)。

2020-12-06 13:05:04 202

原创 JVM内存结构

文章目录1、基本概念2、JVM内存结构2.1、程序计数器(Program Counter Register)2.2、方法区(Method Area)2.3、虚拟机栈(Java Virtual Machine Stacks)2.4、Java堆(Java Heap):2.5、本地方法栈(Native Method Stacks)3、总结 &1、基本概念我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。其

2020-10-22 00:51:42 179

原创 RPC框架基本概念和简单实现

文章目录一、基本概念二、技术简介三、最简单的RPC实现1、服务端2、客户端四、开源知名RPC框架一、基本概念RPC的全称是Remote Procedure Call,它是一种进程间的通信方式。允许像调用本地服务一样调用远程服务。可以将RPC框架整体分为三部分:客户端、服务端、注册中心客户端:1、引用服务端暴露出来的接口;2、与注册中心连接,向注册中心发送请求,获取服务地址信息;3、创建服务接口代理,并调用,最后获取返回的结果。服务端:1、实现对外暴露的服务接口;2、与注册中

2020-10-18 14:21:37 365

原创 Java生成webservice客户端的几种方式

文章目录一、依赖weblogic生成webservice客户端代码二、用import命令生成webservice客户端代码三、用Apache Cxf生成webservice客户端代码四、用Apache Axis生成webservice客户端代码一、依赖weblogic生成webservice客户端代码需要提前安装好weblogic、ANT、JDK环境依赖weblogic生成的wsdl客户端,环境必须加载weblogic的相关JAR包,客户端才能正确运行build-wsdl-client.xml

2020-06-09 23:28:00 1434

11月第一周例会.xmind

11月第一周例会.xmind

2021-11-12

eclipse spket-1.6.23 插件

官网下载的eclipse spket-1.6.23 插件,可用。附带安装方式

2013-12-17

jquery-easyui-1.3.3.zip

jquery-easyui-1.3.3.zip 官方资源,包含demo、src、可以使用js类

2013-06-18

jquery_easyui_中文API.pdf

jquery_easyui_中文API.pdf

2013-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除