线程springboot scheduled任务

SpringBoot部署到外部Tomcat无法注册到Nacos服务端

事情经过 近期做一个项目投标演示(POC)环境支持,需要集成Nacos服务端。考虑到现有项目中已经有了Nacos相关依赖,那还不简单?新建个服务端,配置几下重启不就搞定了吗?然而事情远没有想得这么简单。同样的代码在我本地IDE里运行就能注册成功,在演示环境 Tomcat+War 部署就不行了。 经过 ......
SpringBoot Tomcat Nacos

还不知道如何在java中终止一个线程?快来,一文给你揭秘

简介 工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢? 今天带大家一起来看看。 Thread.stop被禁用之谜 问道怎么终止一个线程,可能大多数人都知道可以调用Thread.stop方法。 但是这个方法从jdk1.2之后就不推荐使用了, ......
线程 java

flowable异步任务加锁流程

一、异步任务执行 1.1流程图如下: 1.2时序图如下: 加入有两个异步任务,同时触达,那么如下图 1.3代码分析如下: 1.3.1 入口代码 附上部分源代码。事物提交监听器入口如下: public class JobAddedTransactionListener implements Trans ......
flowable 流程 任务

在Linux上查看活跃线程数与连接数

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。 ......
线程 Linux

全局视角看技术-Java多线程演进史

本篇语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。 ......
演进史 线程 全局 视角 技术

【C#异步】异步多线程的本质,上下文流转和同步

引言 net同僚对于async和await的话题真的是经久不衰,这段时间又看到了关于这方面的讨论,最终也没有得出什么结论,其实要弄懂这个东西,并没有那么复杂,简单的从本质上来讲,就是一句话,async 和await异步的本质就是状态机+线程环境上下文的流转,由状态机向前推进执行,上下文进行环境切换, ......
上下文 线程 本质 上下

13.一文彻底了解线程池

大家好,我是王有志。 线程池是Java面试中必问的八股文,涉及到非常多的问题,今天我们就通过一篇文章,来彻底搞懂Java面试中关于线程池的问题。 ......
线程 13

SpringBoot多数据源以及事务处理

背景 在高并发的项目中,单数据库已无法承载大数据量的访问,因此需要使用多个数据库进行对数据的读写分离,此外就是在微服化的今天,我们在项目中可能采用各种不同存储,因此也需要连接不同的数据库,居于这样的背景,这里简单分享实现的思路以及实现方案。 如何实现 多数据源实现思路有两种,一种是通过配置多个Sql ......
数据源 SpringBoot 事务 数据

(原创)多线程并发:AQS源码分析(1)——独占锁的实现原理

谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制; (一)、AQS中的state和Node含义: AQS中提供了一个int volatile state ......
线程 源码 原理 AQS

(原创)多线程并发:AQS源码分析(2)——共享锁的实现原理

在上一篇文章多线程并发(一)中我们通过acquire()详细地分析了AQS中的独占锁的获取流程,提到独占锁,自然少不了共享锁,所以我们这边文章就以AQS中的acquireShared()方法为例,来分析下并发编程中共享锁的获取与释放吧,获取共享锁的大体流程和获取独占锁一样,但是因为共享锁可以被多个线 ......
线程 源码 原理 AQS

springBoot集成flowable

前言 Flowable 项目提供了一套核心的开源业务流程引擎,这些引擎紧凑且高效。它们为开发人员、系统管理员和业务用户提供工作流和业务流程管理 (BPM) 平台。 它的核心是一个闪电般快速、久经考验的动态 BPMN 流程引擎,伴随着 DMN 决策表和 CMMN 案例管理引擎,所有这些引擎都是用 Ja ......
springBoot flowable

一文带你了解线程池原理

一文带你了解线程池原理 1.使用线程池的意义何在? ​ 项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程。因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就只有一个线程报错信息,还是线程的共用信息,再加上如果你将异常吃了(捕获后 ......
线程 原理

Spring注解篇,学完注解深入了解SpringBoot更容易

由于Spring Boot项目底层也都是Spring,使用Spring Boot就需要对Spring的注解有一定的了解,这次就把Spring的部分注解聊一下。熟悉了Spring的注解使用Spring Boot开发更是得心应手。 @ComponentScan:用于指定扫描包的路径,只有在它指定的包下  ......
注解 SpringBoot Spring

c++ 程序通用多线程单例设计 c++ web 框架设计经验谈

设计 c++ web 框架时候,想要一个框架缓存类,很多通用缓存类是用字符保存,作为框架内置就不要序列和反序列了,因为框架内部使用。 想给自己的paozhu c++ web 框架添加缓存类,参考了springboot 于是确定用单例设计模式缓存类模板。 c++11后静态变量已经统一为线程安全了,网络 ......
经验谈 线程 框架 经验 程序

【多线程与高并发】- 线程基础与状态

所谓线程就是操作系统(OS)能够进行运算调度的最小单位,是一个基本的CPU执行单元,也是执行程序流的最小单元。能够提高OS的并发性能,减小程序在并发执行时所付出的时空开销。线程是进程的一个实体,是被系统独立调度和分派的基本单位。 ......
线程 状态 基础

【多线程与高并发】- 浅谈volatile

volatile是Java语言中的一种轻量级的同步机制,它可以确保共享变量的内存可见性,也就是当一个线程修改了共享变量的值时,其他线程能够立即知道这个修改。 ......
线程 volatile

【多线程与高并发】- synchronized锁的认知

synchronized 是 Java 语言的一个关键字,它允许多个线程同时访问共享的资源,以避免多线程编程中的竞争条件和死锁问题。 ......
线程 synchronized

微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作

写在前面 关于Playwright系列的文章,真的很久没有写了,今天一个不小心官方API部分过完了,下面将为大家逐一演示,感兴趣的同学可以自行动手练习。 API部分 多线程 直白点说就是多线程下Playwright的使用,示例代码如下: package org.example; import com ......
页面 神器 线程 截图 Playwright

SpringBoot集成Tomcat服务

基于SpringBoot的版本,Tomcat集成的是9.0版本,参考Tomcat核心组件描述,对于框架有大致的了解后,再去分析集成原理,会更容易把握主线逻辑; ......
SpringBoot Tomcat

线程私有变量ThreadLocal详解

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 烈火试真金,逆境试强者。——塞内加 什么是ThreadLocal 首先看下ThreadLocal的使用示例: public class ThreadLocalTest { priva ......
线程 变量 ThreadLocal

使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题

很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args) ......
busy-waiting probably 任务 waiting Thread

挖矿僵尸网络蠕虫病毒kdevtmpfsi处理过程(包含部分pgsql线程池满的情况)

背景: pgsql连接时候报错org.postgresql.util.PSQLException: FATAL: sorry, too many clients already, 意思是client已经把连接池占满了. 使用ps -ef | grep postgres删除几个进程, 进入数据库运行S ......
蠕虫 线程 僵尸 kdevtmpfsi 病毒

聊聊项目中定时任务的处理方式

一个项目中一般都少不了定时任务,主要用来处理一些特殊的任务,有的是只执行一次的 定时任务,有的是周期循环执行的定时任务。可根据项目需要来选择定时任务类型。自己参与 开发的一个项目中,因为很多定时任务都是需要周期执行的,因此选用按周期循环执行的方式。 比如几分钟重载一次主表数据,重载数据字典表数据,定 ......
任务 方式 项目

C# 线程查漏补缺

进程和线程 不同程序执行需要进行调度和独立的内存空间 在单核计算机中,CPU 是独占的,内存是共享的,这时候运行一个程序的时候是没有问题。但是运行多个程序的时候,为了不发生一个程序霸占整个 CPU 不释放的情况(如一个程序死循环无法结束了,那么其他程序就没有机会运行了),就需要开发者给不同程序划分不 ......
线程

C# 线程同步查漏补缺

同步构造 当线程 A 在等待一个同步构造,另一个线程 B 持有构造一直不释放,那么就会导致线程 A 阻塞。同步构造有用户模式构造和内核模式构造。 用户模式构造通过 CPU 指令来协调线程,所以速度很快。也意味着不受操作系统控制,所以等待构造的线程会不停自旋,浪费 CPU 时间。 内核模式构造通过操作 ......
线程

如何避免让线程摸鱼,请用异步技术 async await 拿捏他~

发现问题 你点了外卖后,会一直不做其它事情,一直等外卖的到来么? 当然不会拉! 我们来看看代码世界的: public void Query(){ // 当前线程 向 数据库服务器 发起查询命令 // 在 数据库服务器 返回数据之前,当前线程 一直等待,不干活了!!! var data = Datab ......
线程 async await 技术

Java线程池详解

一、线程池有哪些优点 减少资源开销,不用频繁的创建和销毁线程 提高响应时长,有任务时可直接执行。 提高线程的可管理性,所有线程资源都由线程池统一管理。 二、线程池的主要参数 线程池ThreadPoolExecutor的继承关系: 想知道有哪些参数,先看参数最多的构造函数: public Thread ......
线程 Java

Java线程池中的execute和submit

一、概述 execute和submit都是线程池中执行任务的方法。 execute是Executor接口中的方法 public interface Executor { void execute(Runnable command); } submit是ExecuteService接口中的方法。 pu ......
线程 execute submit Java

docker搭建maven私服(nexus3),整合springboot上传下载依赖

一、前言 我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。 maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐 ......
上传下载 springboot 私服 docker nexus3

在 SpringBoot 项目中简单实现 JWT 验证

使用 SpringBoot 提供 api 的时候,我更喜欢使用 jwt 的方式来做验证。网上有会多 Spring Security 整合 jwt 的,也有 Shiro 整合 jwt 的,感觉有点复杂。这里分享一下自己在项目中的简单实现。 依赖包 除了 SpringBoot 基本的依赖,需要一个生成 ......
SpringBoot 项目 JWT