Java小强个人技术博客站点    手机版
当前位置: 首页

并发编程之AtomicInteger,AtomicLong,LongAdder

90 理论 | 2022-9-27 17:51
AtomicInteger类是系统底层保护的int类型,通过提供执行方法的控制进行值的原子操作。AtomicInteger它不能当作Integer来使用。AtomicInteger与使用同步执行相同操作相比,使用它同样更快,更易读。在 JDK1.5 中新增了并发情况下使用的 Integer/Long 所对应的原子类AtomicInteger 和 Atomic......查看详细

多线程同步计数器CountDownLatch,CyclicBarrier,Semaphore

110 理论 | 2022-9-27 17:19
CountDownLatchCountDownLatch是一个同步工具类,它允许一个或多个线程等待其他线程一系列操作的完成。A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threa......查看详细

SpringBoot中application.yml引入多个YML文件

3890 框架 | 2022-8-18 14:08
首先,你要了解SpringBoot配置文件加载顺序,加载位置(代码内,Nacos等),当然这不是这里要说的,这里我们就是约定配置文件在resources下,一般有一个主配置文件application.yml,但是当配置过多时,一个配置文件,将会非常臃肿。所以我们需要把配置文件拆分,一些不需要动的,公用的,核心的配置放到application.yml下,其他的......查看详细

分布式任务调度平台XXL-JOB:调度日志打印时区问题

4210 开源 | 2022-8-17 11:00
Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:问题一:调用API的的方式操作任务,不人性化;问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导......查看详细

分布式任务调度平台XXL-JOB:调度报告生成报错

2670 开源 | 2022-8-16 19:11
Quartz作为开源作业调度中的佼佼者,是作业调度的首选。但是集群环境中Quartz采用API的方式对任务进行管理,从而可以避免上述问题,但是同样存在以下问题:问题一:调用API的的方式操作任务,不人性化;问题二:需要持久化业务QuartzJobBean到底层数据表中,系统侵入性相当严重。问题三:调度逻辑和QuartzJobBean耦合在同一个项目中,这将导......查看详细

Kafka 消费端消费重试和死信队列

7140 软件 | 2022-8-15 14:34
Spring-Kafka 提供消费重试的机制。当消息消费失败的时候,Spring-Kafka 会通过消费重试机制,重新投递该消息给 Consumer ,让 Consumer 重新消费消息 。默认情况下,Spring-Kafka 达到配置的重试次数时,【每条消息的失败重试时间,由配置的时间隔决定】Consumer 如果依然消费失败 ,那么该消息就会进入到死信队......查看详细

SpringMVC 文件下载的两种方式

4011 Java | 2022-7-29 10:52
现如今又要写一个关于下午的业务,因此再次编写测试用例,总结了两种下载方式。首先介绍一个14年就写的文章,Http断点下载实简单讲解(http://www.javacui.com/java/98.html )基于Spring的ResponseEntity/**  * SpringMVC方式  */ @GetMapp......查看详细

Java中双重检查锁(double checked locking)

6350 Java | 2022-7-20 9:37
双重检查锁(Double-Check Locking),顾名思义,通过两次检查,并基于加锁机制,实现某个功能。在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的getInstance1()错误代码:public class Singleton {     private ......查看详细