线程池之ThreadPool与ForkJoinPool

一、 ThreadPool Executor一个线程池包括以下四个基本组成部分:1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;2、工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;3、任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的

- 阅读全文 -

SpringBoot项目中使用分布式锁

一,Redis实现1,利用redis 客户端手动实现主要使用setnx 以及lua来实现。(不推荐)2,利用redisson实现引入一下pom<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifac

- 阅读全文 -

在程序中监听Redis Key 过期

通过开启key过期的事件通知,当key过期时,会发布过期事件;我们定义key过期事件的监听器,当key过期时,就能收到回调通知。注意:由于redis key过期删除是定时+惰性,当key过多时,删除会有延迟,回调通知同样会有延迟。且通知是一次性的,没有ack机制,若收到通知后处理失败,将不再收到通知。需自行保证收到通知后处理成功。通知只能拿到key,拿不到value使用场景1、实现延时队列    

- 阅读全文 -

MySQL 8 中使用 Json

MySQL 8中 JSON 的使用推荐用 MySQL 8.0.17 以上的版本,性能更好,同时也支持 Multi-Valued Indexes;以下部分使用JSON_CONTAINS查询的地方说明:第二个参数只能为字符串,所以进行转换。因为参数需要json,json实际就是字符串JSON ARRAY字段的 创建索引、查询创建表CREATE TABLE `json_test` ( `id` in

- 阅读全文 -

Etcher – 将「系统镜像文件」快速制作为USB启动盘

介绍Etcher 是一个mac启动盘制作工具(镜像烧录),可以用来制作macOS、Linux、CentOS、Windows等系统的u盘启动盘。用户可以将可启动映像刻录到SD卡或USB驱动器,以制作U盘启动盘,其能够有效的支持bin、bz2、dmg、dsk、etch、gz、hddimg、iso、raw、wic、xz、zip等多种格式的镜像文件格式,而且在操作步骤上非常的简单,仅需简单三步即可快速完成

- 阅读全文 -