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

并发编程之Java中Selector

23280 理论 | 2022-9-28 9:56
Selector提供选择执行已经就绪的任务的能力,使得多元 I/O 成为可能,就绪选择和多元执行使得单线程能够有效率地同时管理多个 I/O channel。C/C++许多年前就已经有 select()和 poll()这两个POSIX(可移植性操作系统接口)系统调用可供使用。许多os也提供相似的功能,但对Java 程序员来说,就绪选择功能直到 JDK 1.4 ......查看详细

并发编程之AtomicInteger,AtomicLong,LongAdder

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

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

19620 理论 | 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文件

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

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

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

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

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

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

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

SpringMVC 文件下载的两种方式

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