2021年3月15日

LinkedBlockingQueue

摘要: LinkedBlockingQueue是一个基于已链接节点的,范围任意的blocking queue 此队列按FIFO(先进先出)排序元素 新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素 链接队列的吞吐量通常要高于基于数组的对列(ArrayBlockingQueue),但是在大多数 阅读全文

posted @ 2021-03-15 20:12 书梦一生 阅读(2850) 评论(0) 推荐(0) 编辑

LockSupport

摘要: LockSupport 的功能 LockSupport 是JDK 中提供的一个工具类,用来挂起和唤醒线程,这个类是 JDK 中所有同步类的基础,JDK 中 AQS 的实现也是基于此; LockSupport 类是通过操作 Unsafe 类来实现的,而线程在使用时,被挂起和唤醒都是因为这个类的两个方法 阅读全文

posted @ 2021-03-15 19:53 书梦一生 阅读(185) 评论(0) 推荐(0) 编辑

redis消息队列——发布订阅

摘要: 一、相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> < 阅读全文

posted @ 2021-03-15 19:40 书梦一生 阅读(209) 评论(0) 推荐(0) 编辑

2021年3月11日

Java线程封闭—ThreadLocal

摘要: 线程封闭:当访问共享的可变数据时,通常需要同步。一种避免同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(thread confinement) 线程封闭技术一个常见的应用就是JDBC的Connection对象,JDBC规范并没有要求Connection对象必须 阅读全文

posted @ 2021-03-11 09:11 书梦一生 阅读(124) 评论(0) 推荐(0) 编辑

2021年3月9日

Java中如何唤醒“指定的“某个线程

摘要: 线程状态 NEW(初始化状态) 线程通过new初始化完成到调用start方法前都处于等待状态。 RUNNABLE(可执行状态) 线程执行start方法后就处于可以行状态。 BLOCKED(阻塞状态) notify方法被调用后线程被唤醒,但是这时notify的synchronized代码段并没有执行完 阅读全文

posted @ 2021-03-09 16:39 书梦一生 阅读(2591) 评论(0) 推荐(0) 编辑

2021年3月5日

jvm垃圾回收器

摘要: 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 接下来讨论的收集器 阅读全文

posted @ 2021-03-05 21:25 书梦一生 阅读(81) 评论(0) 推荐(0) 编辑

2021年3月1日

mysql 递归查询

摘要: Oracle 递归查询 在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。按照 prior 关键字在子节点端还是父节点端,以及是否包含当前查询的节点,共分为四种情况。 prior 在子节点端(向下递归) 第一种情况: start with 子节 阅读全文

posted @ 2021-03-01 15:22 书梦一生 阅读(2243) 评论(0) 推荐(0) 编辑

2021年2月25日

时间轮算法

摘要: 从定时任务说起 自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同学们可能对此比较熟悉,毕竟工作中的定时任务也 阅读全文

posted @ 2021-02-25 10:39 书梦一生 阅读(723) 评论(0) 推荐(0) 编辑

xxl-job 调度中心如何进行进行任务调度

摘要: 简介 再看一遍 xxl-job 架构图:调度中心主要提供了两个功能: 系统管理 和 任务调度。其余的都是一些辅助功能。 系统管理正如图中所示的那样, 包括任务管理、执行器管理、日志管理。还提供了管理界面。 任务调度就是负责从数据中心拉取任务,并按照执行时间将任务投递给执行器。 调度器的组成结构 两个 阅读全文

posted @ 2021-02-25 10:37 书梦一生 阅读(2739) 评论(4) 推荐(1) 编辑

2021年2月23日

REDIS缓存穿透,缓存击穿,缓存雪崩

摘要: 一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请 阅读全文

posted @ 2021-02-23 10:38 书梦一生 阅读(90) 评论(0) 推荐(0) 编辑

导航