SpringBoot整合Quartz实现动态定时任务
目录
- 1、Quartz简介
- 1.1 Quartz的三大核心组件
- 1.2 CronTrigger配置格式
- 2、SpringBoot整合Quartz框架
- 2.1 创建项目
- 2.2 实现定时任务
1、Quartz简介
Quartz是一个开源的任务调度服务,它可以独立使用,也可与其它的Java EE,Java SE应用整合使用。无论是执行十个,一百个工作的简单任务,还是执行成百上千个工作的复杂调度任务都可以使用Quartz来实现,此外,Quartz还提供了很多企业级应用的特色,如JTA事务支持及集群。
如果你的应用中有任务需要在特定的时间执行,亦或周期循环执行,则Quartz也许是你理想的选择。
1.1 Quartz的三大核心组件
- 任务:Job ----你要做什么事?
- 触发器:Trigger -----你什么时候去做?
- 调度器:Scheduler ----将Job和Trigger组装起来,使定时任务被真正执行。
1.2 CronTrigger配置格式
corn表达式是:由若干数字、空格、符号按一定的规则,组成的一组字符串,从而表达时间的信息。
Cron 表达式是一个字符串,分为 6 或 7 个域,每一个域代表一个含义
Cron 有如下两种语法格式:
- [秒] [分] [小时] [日] [月] [周] [年]
- [秒] [分] [小时] [日] [月] [周]
字段 | 是否必填 | 允许填写的值 | 允许的通配符 |
---|---|---|---|
秒 | 是 | 0-59 | , - * / |
分 | 是 | 0-59 | , - * / |
小时 | 是 | 0-23 | , - * / |
日 | 是 | 1-31 | , - * ? / L W |
月 | 是 | 1-12 or JAN-DEC | , - * / |
周 | 是 | 1-7 or SUN-SAT | , - * ? / L # |
年 | 否 | 留空 或 1970-2099 | , - * / |
通配符说明:
星号(*)
:表示所有值 ~~~~ 例如:在分的字段上设置 “*”,表示每一分钟都会触发。
减号(-)
:表示区间 ~~~~~~ 例如在小时上设置 “10-12”,表示 10,11,12点都会触发。
逗号(,)
:列出枚举 ~~~~~~ 例如在分钟里,"5,15"表示5分钟和20分钟触发
斜杠(/)
:指定增量 ~~~~~~~ 例如在分钟里,"3/15”表示从3分钟开始,没隔15分钟执行一次
问号(?)
: 只在日期域和星期域中使用,表示忽略该字段 ~~~~ 例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
L: 表示last,例如星期中表示7或SAT,月份中表示最后一天31或30,6L表示这个月倒数第6天,FRIL表示一个星期五
W: 只能用在月份中,表示最接近指定天的工作日
#: 只能用在星期中,表示这个月的第几个周几,例如6#3表示这个月的第3个周五
可通过在线生成Cron表达式的工具:https://www.bejson.com/othertools/cron/来生成自己想要的表达式。
常用示例:
表达式 | 含义 |
---|---|
0 * * * * ? | 每1分钟触发一次 |
0 0 * * * ? | 每天每1小时触发一次 |
0 0 10 * * ? | 每天10点触发一次 |
0 * 14 * * ? | 在每天下午2点到下午2:59期间的每1分钟触发 |
0 30 9 1 * ? | 每月1号上午9点半 |
0 15 10 15 * ? | 每月15日上午10:15触发 |
*/5 * * * * ? | 每隔5秒执行一次 |
0 */1 * * * ? | 每隔1分钟执行一次 |
0 0 5-15 * * ? | 每天5-15点整点触发 |
0 0/3 * * * ? | 每三分钟触发一次 |
0 0 0 1 * ? | 每月1号凌晨执行一次 |
2、SpringBoot整合Quartz框架
【示例】创建SpringBoot项目并整合Quartz框架,实现定时任务功能。
2.1 创建项目
(1)创建SpringBoot项目,项目结构如下图:
(2)使用Maven添加依赖文件
在pom.xml配置信息文件中,添加SpringBoot整合Quartz框架的相关依赖:
<!-- SpringBoot 整合 Quartz 定时任务 -->
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> <version>2.3.5.RELEASE</version>
</dependency>
2.2 实现定时任务
(1)实现定时任务业务逻辑
自定义一个job。
package com.by.job;import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;@Component
public class PrintTimeJob {//任务public void printTime() throws JobExecutionException {//创建格式化日期对象SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//打印当前时刻System.out.println("现在时刻:"+simpleDateFormat.format(new Date()));}
}
(2)配置定时任务
编写quartz配置类。
package com.by.config;import com.by.job.PrintTimeJob;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;import java.util.Objects;@Configuration
public class QuartzConfig {@Bean //job:要做的事public MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean(PrintTimeJob printTimeJob){MethodInvokingJobDetailFactoryBean JobDetailFactoryBean = newMethodInvokingJobDetailFactoryBean();//绑定要执行的job类JobDetailFactoryBean.setTargetObject(printTimeJob);//绑定要定时执行的方法JobDetailFactoryBean.setTargetMethod("printTime");return JobDetailFactoryBean;}@Bean //trigger:什么时候做public CronTriggerFactoryBean cronTriggerFactoryBean(MethodInvokingJobDetailFactoryBean JobDetailFactoryBean){CronTriggerFactoryBean triggerFactoryBean = new CronTriggerFactoryBean();//配置cron表达时,设置定时规则triggerFactoryBean.setCronExpression("* * * * * ?");//绑定job对象triggerFactoryBean.setJobDetail(Objects.requireNonNull(JobDetailFactoryBean.getObject()));return triggerFactoryBean;}@Bean //scheduler:将Job和Trigger组装起来,使定时任务被真正执行public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean triggerFactoryBean){SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();//绑定trigger对象schedulerFactoryBean.setTriggers(triggerFactoryBean.getObject());return schedulerFactoryBean;}
}
(3)编写启动类
package com.by;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class QuartzTestApp {public static void main(String[] args) {SpringApplication.run(QuartzTestApp.class,args);}
}
(4)测试
完成上述代码与配置后,就可以启动 SpringBoot 项目,进行运行测试。
执行结果:
相关文章:
![](https://img-blog.csdnimg.cn/direct/6ba46f25a33a4cdc90354df201aeaa2e.png)
SpringBoot整合Quartz实现动态定时任务
目录 1、Quartz简介1.1 Quartz的三大核心组件1.2 CronTrigger配置格式 2、SpringBoot整合Quartz框架2.1 创建项目2.2 实现定时任务 1、Quartz简介 Quartz是一个开源的任务调度服务,它可以独立使用,也可与其它的Java EE,Java SE应用整合使用。…...
![](https://www.ngui.cc/images/no-images.jpg)
qt 用宏控制静态接口的统一
1.概要 /** * 单件宏实验 * 创建一个可以生成单件的宏 * 起因:想让有些控件单件,但是c不支持静态的继承(c#支持) * 那么如果保证这些接口的统一呢,用宏 */ 2.代码 2.1 a.h #ifndef A_H #define A_H#include &…...
![](https://img-blog.csdnimg.cn/direct/585a530d5d9f4b7aa8eb22200c5e501d.png)
pdf怎么转换成jpg,本地转换还是在线转换?
PDF(Portable Document Format)和JPG(Joint Photographic Experts Group)这两种文件格式在我们的日常生活和工作中扮演着举足轻重的角色。PDF因其跨平台、保持原样性强的特点,被广泛应用于文件传输和存储;而…...
![](https://www.ngui.cc/images/no-images.jpg)
【物联网】802.15.4简介
目录 一、概述 二、802.15.4主要特点 2.1 工作频段和数据速率 2.2 支持简单器件 2.3 信标方式和超帧结构 2.4 数据传输和低功耗 三、低功耗 一、概述 802.15.4包括用于低速无线个人域网(LR-WPAN)的物理层和媒体接入控制层两个规范。它能支持消耗功率最少,一般…...
![](https://www.ngui.cc/images/no-images.jpg)
C++基础语法:复制构造函数,赋值构造函数及浅复制,深复制
前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 前一篇帖子C基础语法:类构造函数之普通构造函数-CSDN博客讲了普通构造函数,还有 复制构造函数,赋值运算符以及延伸出来的浅复制和深复制问题,做个补充. 内容主要参考自<<C Prime Plus>> 6th Edition …...
![](https://img-blog.csdnimg.cn/direct/3fabbcc3b5ea4a869ce9edf5d15ea1df.png)
架构是怎样练成的-楼宇监控系统案例
目录 概要 项目背景 原系统设计方案 改进后的设计方案 小结 概要 绝大多数人掌握的架构都是直接学习,慢慢地才能体会到一个架构的好处。架构是一种抽象,是为了复用目的而对代码做的抽象。通过一个项目的改造,理解架构是如何产生的&…...
![](https://img-blog.csdnimg.cn/direct/268f6c96053344f4a130dc2fe8b50bcc.png)
valgrind使用浅谈
1、Valgrind 简介 Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具,它可在以下平台上运行: X86/Linux、AMD64/Linux、ARM/Linux、ARM64/Linux、PPC32/Linux、PPC64/Linux、PPC64LE/Linu x、S390X/Linux、MIPS32/Linux、MIPS64/Li…...
![](https://img-blog.csdnimg.cn/direct/a44fde25e9da41b3b13b4b5da4b8c1b2.png)
强化学习专题:强化学习知识梳理(一)
2024/6/23: 前段时间有幸完成了大学期间的第一篇论文。在面试之前复盘一下关于自己论文中DQN的一些相关点。 浅谈主要区别(在线 or 离线) 首先,一切的开始是强化学习中时序差分方程,这体现了强化学习方法的优化策略。在…...
![](https://img-blog.csdnimg.cn/direct/d2630746e22c418380d7beaf95d7654b.jpeg#pic_center)
深入JVM:详解JIT即时编译器
文章目录 深入JVM:详解JIT即时编译器一、序言二、基础概念1、何为JIT即时编译2、热点代码 三、HotSpot内置的即时编译器1、C1编译器2、C2编译器3、分层编译3.1 协作流程 四、常见JIT优化技术1、方法内联2、逃逸分析(1)同步锁消除(…...
![](https://img-blog.csdnimg.cn/direct/28654f5595f04b7c9d76b2dd5d618b23.png)
ORBSLAM3_ROS_Ubuntu18_04环境搭建安装
orbslam3安装 ORB-SLAM3配置及安装教程(2023.3)_orbslam3安装-CSDN博客 换源,换成国内的 搜索software 安装工具 sudo apt install git sudo apt update sudo apt install gcc g cmake安装 cmake安装新版本 ubuntu20.04安装cmake详细…...
![](https://img-blog.csdnimg.cn/direct/6e52aa2da0e141a6b95d5e3fc4b017c1.png#pic_center)
【opencv - C++ - Ubuntu】putText 显示中文最快方法
话不多说,直接上代码 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/freetype.hpp>using namespace std; using namespace cv;int main(void) {Mat image(1000, 1800, CV_8UC3, Scalar(200,162,33));Ptr<freetype::F…...
![](https://img-blog.csdnimg.cn/direct/619ac939f093411386542357860bf055.png)
百度网盘下载速度慢的解决办法
目录 一、背景 二、解决办法 1、点击三个竖点,再点设置 2、点击传输,再点击去开启该功能 3、点击同意,开启优化速率 三、结果 四、备注 一、背景 当你不是百度网盘会员时,你在使用百度网盘下载时,是否下载速度太…...
![](https://www.ngui.cc/images/no-images.jpg)
Python api接口 异步
Python API接口异步编程简介 在现代的软件开发中,大多数应用都需要通过API接口与其他系统进行交互。Python是一种非常流行的编程语言,因此许多开发者选择使用Python来构建他们的API接口。在一些情况下,API接口需要进行异步编程,以…...
![](https://www.ngui.cc/images/no-images.jpg)
Java 和 Kotlin 单例模式写法对比
目录 1、饿汉模式 Java 写法: Kotlin 写法: Kotlin 这段代码反编译&简化后如下: 2、懒汉模式,静态同步方法 Java 写法: Kotlin 写法: Kotlin 这段代码反编译&简化后如下: 3、懒…...
![](https://www.ngui.cc/images/no-images.jpg)
解析connectionReset异常的原因与解决方案
解析connectionReset异常的原因与解决方案 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中connectionReset异常的原因及其解决方案。这…...
![](./assets/Multi30K.png)
mindspore打卡第9天 transformer的encoder和decoder部分
mindspore打卡第9天 transformer的encoder和decoder部分 import mindspore from mindspore import nn from mindspore import ops from mindspore import Tensor from mindspore import dtype as mstypeclass ScaledDotProductAttention(nn.Cell):def __init__(self, dropout_…...
![](https://www.ngui.cc/images/no-images.jpg)
Python实现IPv4地址和16进制互相转换
Python实现IPv4地址和16进制互相转换 import socketdef ip_to_hex16(ipaddr):# 使用 socket 库中的方法将IP地址转换为网络字节序的二进制表示hex_bytes socket.inet_aton(ipaddr)# 将二进制数据转换为整数, 其中byteorderbig 表示使用大端字节序(从高位到低位&…...
![](https://img-blog.csdnimg.cn/direct/193c38d1071543d4a47ced2b24ec9615.png)
计算机视觉 | 基于图像处理和边缘检测算法的黄豆计数实验
目录 一、实验原理二、实验步骤1. 图像读取与预处理2. 边缘检测3. 轮廓检测4. 标记轮廓序号 三、实验结果四、完整代码 Hi,大家好,我是半亩花海。 本实验旨在利用 Python 和 OpenCV 库,通过图像处理和边缘检测算法实现黄豆图像的自动识别和计…...
![](https://img-blog.csdnimg.cn/direct/831c93e23df14cb7a64408f00820dc3e.png#pic_center)
深入分析 Android BroadcastReceiver (七)
文章目录 深入分析 Android BroadcastReceiver (七)1. 高级应用场景1.1 示例:动态权限请求1.2 示例:应用内通知更新 2. 安全性与性能优化2.1 示例:设置权限防止广播攻击2.2 示例:使用 LocalBroadcastManager2.3 示例:在…...
![](https://img-blog.csdnimg.cn/direct/5bbbe40f961643adba49aafd9b6672ef.png)
C++中的数据结构
一.STL标准库 结构:STL中有六大组件,分别是:容器,算法,迭代器,仿函数,配接器,配置器;以下分别介绍这六大组件中的最主要的三个。 1.容器 容器来配置存储空间,算法通过…...
![](https://img-blog.csdnimg.cn/direct/da917c558468480196da90ad8c65e84e.jpeg)
武汉星起航:一站式服务,助力亚马逊卖家高效运营,实现收益飞跃
在跨境电商的浪潮中,武汉星起航电子商务有限公司以其独特的一站式跨境电商服务,为众多亚马逊卖家提供了强有力的支持,助力他们在不断发展的市场中脱颖而出,实现收益的大幅提升。 武汉星起航的一站式跨境电商服务,以其…...
![](https://img-blog.csdnimg.cn/img_convert/b48cb07eb24cc62cbadde1689094f2af.png)
从灵感到实践:Kimi辅助完成学术论文选题的文艺之旅
学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 昨天我们为大家介绍了ChatGPT辅助完成实现设计(AI与学术的交响:ChatGPT辅助下的实验设计新篇章)。今天我们再来看看Kimi对于论文选题都能提供哪些帮助…...
![](https://www.ngui.cc/images/no-images.jpg)
华为od-C卷200分题目4 -电脑病毒感染
华为od-C卷200分题目4 -电脑病毒感染 一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长…...
![](https://img-blog.csdnimg.cn/direct/1319797446c946f2a1b48fdb49a80f19.png#pic_center)
show-overflow-tooltip 解决elementui el-table标签自动换行的问题
elementui中 el-table中某一行的高度不想因为宽度不够而撑开换行展示的解决方法。可通过show-overflow-tooltip属性解决,如下 代码是这样的 <el-table-column width"80" prop"id" label"ID"></el-table-column> <el…...
![](https://img-blog.csdnimg.cn/direct/79a3780f5f1a4024ac91875297bac760.png)
数字社交的领航者:解析Facebook的引领作用
在当今数字化社会中,社交网络已经成为了人们日常生活不可或缺的一部分。而在众多社交平台中,Facebook凭借其巨大的用户基础和创新的技术应用,被公认为数字社交领域的领航者之一。本文将深入解析Facebook在数字社交中的引领作用,探…...
![](https://www.ngui.cc/images/no-images.jpg)
深度分析 Apache Flink 窗口机制
什么是 Flink 窗口? Apache Flink 是一个用于处理实时流数据的开源框架,其核心功能之一是窗口(Window)机制。窗口是 Flink 在处理流数据时用于划分数据流的逻辑概念,它将无限的流数据切割成有限的、可管理的部分&…...
![](https://www.ngui.cc/images/no-images.jpg)
ubuntu 软链接(ubuntu20.04)
ubuntu 软链接(ubuntu20.04) 在Ubuntu和其他Linux系统中,软链接(也称为符号链接)是文件系统中的一个特殊类型的文件,它作为一个引用或指针,指向另一个文件或目录。软链接类似于Windows中的快捷…...
![](https://img-blog.csdnimg.cn/img_convert/d2052a72e61116bb37f45a350a021acc.png)
如何在LabVIEW中使用FPGA模块
LabVIEW FPGA模块是NI公司推出的一款强大工具,它允许用户使用LabVIEW图形化编程环境来开发FPGA(现场可编程门阵列)应用程序。与传统的HDL(硬件描述语言)编程相比,LabVIEW FPGA模块大大简化了FPGA开发的过程…...
![](https://img-blog.csdnimg.cn/direct/85a666d856e641b38568683dd7b6e008.png#pic_center)
FPGA开发技能(7)Vivado设置bit文件加密
文章目录 前言1. AES加密原理2.xilinx的AES方案3.加密流程3.1生成加密的bit流3.2将密钥写入eFUSE寄存器 4.验证结论5.传送门 前言 在FPGA的项目发布的时候需要考虑项目工程加密的问题,一方面防止自己的心血被盗,另一方面也保护公司资产,保护知…...
![](https://img-blog.csdnimg.cn/direct/76e9349f0b1546bc9dd89fc11c3b9b23.png)
【算法专题--链表】旋转链表 -- 高频面试题(图文详解,小白一看就懂!!)
目录 一、前言 二、题目描述 三、解题方法 ⭐解题思路---闭合为环 🍍 案例图解 四、总结与提炼 五、共勉 一、前言 旋转链表 这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目&#x…...
![](https://img-blog.csdnimg.cn/direct/a20e581edd8f49e7bcd3f6fe92a34056.png)
ElasticSearch 和 MySQL的区别
MySQLElasticSearch 数据库(database)索引(index)数据表(table) 类型(type) 记录文档(document,json格式) 一、ES基础命令 1. ES cat查询命令 2.…...
![](https://img-blog.csdnimg.cn/direct/8e0f178218b64df58bb89845841ce679.png)
Linux部署wordpress站点
先安装宝塔面板 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 因为wordpress需要php,mysql,apache ,httpd环境 参考:Linux 安装宝塔…...
![](https://img-blog.csdnimg.cn/direct/b26cf56aec5f48658a4619294ded8432.png)
实体零售连锁企业如何通过物流接口实现数智化转型升级?
在电子商务浪潮的持续冲击下,传统的实体零售行业面临着巨大的挑战。为了在线上线下融合的新零售时代保持竞争力,众多实体零售企业积极寻求数字化转型的突破。 某中国零售连锁百强企业近年来致力于打造自有品牌的线上销售体系,自2021年8月起接…...
![](https://www.ngui.cc/images/no-images.jpg)
AWS EKS上GPU工作负载自动扩缩容的异常排查指南
在AWS EKS上使用Karpenter和KEDA实现GPU工作负载的自动扩缩容是一个复杂的过程,涉及多个组件的协同工作。当遇到问题时,系统性的排查方法可以帮助我们快速定位和解决问题。本文将详细介绍如何对这个系统进行全面的异常排查。 1. Karpenter相关组件检查 1.1 NodePool检查 N…...
![](https://img-blog.csdnimg.cn/direct/41f3d2544fe74059b29df425ab2109e0.png)
Pytest+Allure+Yaml+Jenkins+Gitlab接口自动化中Jenkins配置
一、背景 Jenkins(本地宿主机搭建) 拉取GitLab(服务器)代码到在Jenkins工作空间本地运行并生成Allure测试报告 二、框架改动点 框架主运行程序需要先注释掉运行代码(可不改,如果运行报allure找不到就直接注释掉) …...
![](https://www.ngui.cc/images/no-images.jpg)
应用及安全
目录 一、PAM 安全认证及配置 1.1配置 su 命令的认证 1.2PAM 配置文件结构二、账号和密码安全管理 2.1账号管理 2.2系统账号清理 2.3密码安全控制 2.4密码重设示例 2.5参考命令三、命令历史限制 3.1设置命令历史记录…...
![](https://img-blog.csdnimg.cn/direct/2f9b87d9824b4e068b8998d09a959b86.png)
字节流和字符流的相关知识
目录 1. Writer1.1 写两行数据1.2 换一种方式1.3 追加数据1.4 写很多数据,记得要清一下缓存1.5 用数组、字符串写入 2. Reader2.1 读个文件2.2 读取字符2.3 读取数据到数组2.4 复制文件 3. InputStream4. OutputStream5. 参考链接 1. Writer Writer类是Java.io包中…...
![](https://img-blog.csdnimg.cn/direct/59b4a9db64e44ea781bfdc2774f1c0ba.png)
LLM意图识别器实践
利用 Ollama 和 LangChain 强化条件判断语句的智能提示分类 ❝ 本文译自Supercharging If-Statements With Prompt Classification Using Ollama and LangChain一文,以Lumos工具为例,讲解了博主在工程实践中,如何基于LangChain框架和本地LLM优…...
![](https://img-blog.csdnimg.cn/direct/d60d87a87d7c4b0fb52cedea8649ab98.png)
常见的反爬手段和解决思路(爬虫与反爬虫)
常见的反爬手段和解决思路(爬虫与反爬虫) 学习目标1 服务器反爬的原因2 服务器长反什么样的爬虫(1)十分低级的应届毕业生(2)十分低级的创业小公司(3)不小心写错了没人去停止的失控小…...
![](https://img-blog.csdnimg.cn/direct/4a2d3a791f754642af3f0383c95ee9c7.png#pic_center)
Stable Diffusion【真人模型】:人像光影摄影极限写实真实感大模型
大家好,我是极客菌 今天和大家分享一个基于SD1.5的真人大模型:人像光影摄影极限写实真实感大模型。 该模型具有以下特点: 真实肤感(在面部肌理和皮肤肌理上均有加强学习,拒绝ai出图假的问题) 永不脱妆&a…...
![](https://img-blog.csdnimg.cn/direct/878fb65881fc46e6b02719ce8e41278c.jpeg)
java实现图片添加水印
文章目录 前言一、工具类WatermarkUtil二、工具类介绍2.1 图片来源类型2.2 水印类型2.3 读取本地图片2.4 读取网络图片2.5 水印处理2.6 添加水印 三、测试添加水印总结 前言 给图片添加水印是一个很常见的需求,一般是用来防盗用。比如我们csdn上面写的文章中&#…...
![](https://img-blog.csdnimg.cn/direct/5e9e09b7a2dc46b6a27a7e63ca008c09.png)
CSS规则——font-face
font-face 什么是font-face? 想要让网页文字千变万化,仅靠font-family还不够,还要借助font-face(是一个 CSS 规则,它允许你在网页上使用自定义字体,而不仅仅是用户系统中预装的字体。这意味着你可以通过提…...
![](https://img-blog.csdnimg.cn/direct/42f46fcd437b41b7968b669a7c02d360.png)
【单片机毕业设计选题24034】-基于STM32的手机智能充电系统
系统功能: 系统可以设置充电时长,启动充电后按设置的充电时长充电,充电时间到后自动 停止充电,中途检测到温度过高也会结束充电并开启风扇和蜂鸣器报警。 系统上电后,OLED显示“欢迎使用智能充电系统请稍后”,两秒钟…...
![](https://img-blog.csdnimg.cn/direct/d80b51e536a946f283eed6f5e28d9d50.png)
[C++][数据结构][图][中][图的遍历][最小生成树]详细讲解
目录 1.图的遍历1.广度优先遍历2.深度优先遍历 2.最小生成树1.Kruskal算法2.Prim算法 1.图的遍历 给定一个图G和其中任意一个顶点 v 0 v_0 v0,从 v 0 v_0 v0出发,沿着图中各边访问图中的所有顶点,且每个顶 点仅被遍历一次 “遍历”&…...
![](https://www.ngui.cc/images/no-images.jpg)
退市新规解读—财务类强制退市
一、退市风险警示:第一年触及相关指标 上市公司最近一个会计年度触及下列退市风险指标之一,公司股票或存托凭证被实施退市风险警示(*ST): 第1项 组合类财务指标 仅发行A股或B股,最近一个会计年度或追溯重述后最近一个会计年度 …...
![](https://www.ngui.cc/images/no-images.jpg)
小程序的生命周期使用方法和应用场景
小程序生命周期 初始化(App Launch) • 触发时机:小程序首次启动时。 • 主要事件:onLaunch。 • 功能与适用场景: • 全局数据初始化:设置应用的全局状态和变量。 • 登录状态检查:判断用户是…...
![](https://www.ngui.cc/images/no-images.jpg)
什么是C++模块化系统?C++20的模块化系统。
C20引入的模块化系统是一种新的代码组织和编译机制,它旨在替代传统的头文件机制,提供更好的代码组织、更快的编译速度和更强的封装性。模块化系统的主要目标包括: 减少编译时间:通过减少冗余的头文件解析和宏定义传播,…...
![](https://img-blog.csdnimg.cn/img_convert/78ce1b19a8c99510c641df4f70e978d8.jpeg)
智慧校园-档案管理系统总体概述
智慧校园档案管理系统,作为教育信息化进程中的重要一环,它运用现代信息技术的力量,彻底改变了传统档案管理的面貌,为学校档案资源的收集、整理、存储、检索与利用开辟了全新的途径。这一系统全面覆盖学生、教职工、教学科研及行政…...
![](https://img-blog.csdnimg.cn/direct/1abab67a5ce64eb1a2bc41718160e6c8.png)
文心一言 VS 讯飞星火 VS chatgpt (290)-- 算法导论21.3 3题
三、给出一个包含 m 个 MAKE-SET 、UNION 和 FINDSET 操作的序列(其中有 n 个是 MAKE-SET 操作),当仅使用按秩合并时,需要 Ω(mlgn) 的时间。如果要写代码,请用go语言。 文心一言: 在并查集(Union-Find)数…...
![](https://www.ngui.cc/images/no-images.jpg)
逻辑回归梯度推导
逻辑回归是一种广泛使用的分类算法,用于估计一个事件发生的概率。它是线性回归的扩展,通过sigmoid函数将线性回归的输出映射到[0, 1]区间,从而用于分类任务。 在逻辑回归中,我们使用对数似然损失函数(log-likelihood l…...
![](https://img-blog.csdnimg.cn/direct/a5f6ddb97d0640e49546a932a4ca5b9c.png)
大模型与机器人精彩碰撞-7月5日晚上八点不见不散!
在瞬息万变的科技时代,新兴人工智能和机器人技术的结合正在引领新一轮的创新浪潮。你是否想成为未来科技的领航者?你是否想了解最前沿的AI与机器人技术?行麦科技重磅推出的“AIGC时代的生存法则”AI系列课,将为你揭开大模型与机器…...
![](https://img-blog.csdnimg.cn/direct/9421a052fb514672a54ccf3a3bd20ffc.png)
Firewalld 防火墙基础
Firewalld 防火墙基础 一、Firewalld概述firewalld 简介firewalld 和 iptables 的关系firewalld 与 iptables service 的区别 二、Firewalld 网络区域区域介绍Firewalld数据处理流程 三、Firewalld 防火墙的配置方法firewall-config 图形工具“区域”选项卡“服务”选项卡改变防…...
![](https://www.ngui.cc/images/no-images.jpg)
css 实现背景图和背景色正片叠底
要实现背景图和背景色的正片叠底效果,可以使用CSS的mix-blend-mode属性。mix-blend-mode属性定义了元素的内容与其背景层如何混合。当设置为multiply时,可以实现正片叠底效果 案例 .style {background: url(https://xxx.png) no-repeat;background-siz…...
![](https://www.ngui.cc/images/no-images.jpg)
江苏高防IP对网络安全有何作用?
网络科技在快速发展的过程中,网络安全问题也日益增加,许多网站行业和服务器会受到DDOS攻击和CC攻击等多种恶意的网络攻击,这些攻击给企业带来了巨大的经济损失,同时也导致服务器出现瘫痪和网站无法正常运行的情况,为了…...
![](https://www.ngui.cc/images/no-images.jpg)
新一代Java框架Quarkus的性能优化与应用
新一代Java框架Quarkus的性能优化与应用 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 引言 随着云原生技术的发展,Java开发者们对于构建轻量级、…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=file%3A%2F%2F%2FC%3A%2FUsers%2FLenovo%2FAppData%2FLocal%2FTemp%2Fmsohtmlclip1%2F01%2Fclip_image002.jpg&pos_id=NQiX2ei9)
python本学期所有代码!
第一单元 ----------------------------------------------------------------------- #圆面积的计算 radius 25 area 3.1415 * radius * radius print(area) print("{:.2f}".format(area)) --------------------------------------------------------------------…...
![](https://www.ngui.cc/images/no-images.jpg)
史上最小沃尔沃!沃尔沃EX30这次玩点不合群的
如今的新能源市场竞争到了白热化阶段,传统车企与新势力车企纷纷都要加入分一杯羹。为抢夺这块肥美的“大蛋糕”,现在的大部分车型逐渐演变成以大为尊,设计苟同,疯狂堆料为潮流。这时沃尔沃带着旗下最小尺寸的新能源SUV闪亮登场,不走寻常路,选择回归本质、返璞归真,为用户…...
![](https://www.ngui.cc/images/no-images.jpg)
湖北鹤峰:高山萝卜陆续上市田间一片好“丰”景
2日,笔者走进湖北省恩施州鹤峰县太平镇奇峰关村的萝卜种植基地,放眼望去,一棵棵萝卜整齐排列,圆润饱满,一股清甜气味扑面而来。农户们在忙着采摘白萝卜,骡驮装车,一派热火朝天的丰收景象。“现在正是蔬菜上市的季节,每天都有10多名工人在田里摘萝卜,采收量约为30吨左右…...
![](https://img-blog.csdnimg.cn/img_convert/bf3315ac00d1b0fb91770d9530061ea2.jpeg#pic_center)
M功能-支付平台(六)
target:离开柬埔寨倒计时-217day 今天突然发现我在csdn居然把我ip属地搞出来了,之前都没注意到,哎 前言 M功能演示版本做到后期(也就是第二周的后面3天)真的很心酸,这边安排的4后端后面都放弃了,觉得做不出来&#…...
![](https://img-blog.csdnimg.cn/direct/53005cc1392d4f8e86ee9ada4d2c0b56.png)
爬虫案例-亚马逊反爬分析-验证码突破(x-amz-captcha)
总体概览:核心主要是需要突破该网站的验证码,成功后会返回我们需要的参数后再去请求一个中间页(类似在后台注册一个session),最后需要注意一下 IP 是不能随意切换的 主要难点: 1、梳理整体反爬流程 2、验证…...
![](https://www.ngui.cc/images/no-images.jpg)
【代码】Goc小游戏
1.口算测试 int a,b,lv1,score0,nd,yu,da,day,j,s_j0,cuo0; int main(){p.picL(1,"boy0.png").picL(2,"boy1.png").picL(3,"boy2.png").picL(4,"boy3.png");p.rr(1000,1000,14).speed(10).up().hide();p.moveTo(0,150).text("加…...
![](https://www.ngui.cc/images/no-images.jpg)
【CSharp】判断目录以及文件是否存在
【CSharp】判断目录以及文件是否存在 1.背景2.判断目录3.判断文件1.背景 我们在进行磁盘IO的时候进行需要判断目录、文件是否存在,根据判断结果再做进一步的操作。 其中判断目录是否存在,涉及Directory.Exists(String) 方法; 命名空间:System.IO 方法功能:确定给定路径是…...