<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[success321的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/success321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; success321]]></copyright><item><title><![CDATA[spring定时任务cron为每季度第一个工作日转换为cron表达式]]></title><link>https://blog.youkuaiyun.com/success321/article/details/119779087</link><guid>https://blog.youkuaiyun.com/success321/article/details/119779087</guid><author>success321</author><pubDate>Wed, 18 Aug 2021 14:30:19 +0800</pubDate><description><![CDATA[最近系统有个需求，执行一个定时任务发送待办事项，一年有六次，分别为每季度第一个工作日、第二季度和第四季度结束后的第十个工作日，可头疼坏了
还好我们系统有个工作日表，于是思路就是先查询出每季度的第一天，然后在表里查出大于此日期的第一个工作日，然后利用cronUtil转换成cron表达式，开启定时任务就ok了。

下面附上查询季度第一天的sql
/* 本季度的第一天 */
concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)
/* ]]></description><category></category></item><item><title><![CDATA[springboot使用ThreadPoolTaskScheduler来实现动态修改定时任务的cron]]></title><link>https://blog.youkuaiyun.com/success321/article/details/116985433</link><guid>https://blog.youkuaiyun.com/success321/article/details/116985433</guid><author>success321</author><pubDate>Tue, 18 May 2021 13:37:55 +0800</pubDate><description><![CDATA[最近有一个需求，客户需要在页面上选择某些信息，然后选择邮件接收人，然后设置每天哪个时间点发送邮件来新增一个定时任务，而且可以同时执行多个定时任务，还要求这些定时任务有启动、停止、修改的按钮。
去网上翻了一些文章，大部分都是触发了定时任务才能修改下次的执行时间，跟我的需求不符，然后借鉴了一些文章内容实现了自己的需求，接下来上代码。
注释都比较清楚，就不多做解释了。
/***
 *  功能描述：定时任务调度类
 */
@Component
public class DynamicTimedTask {
    ]]></description><category></category></item><item><title><![CDATA[两台redis服务器主从复制以及哨兵配置，java里redis哨兵的配置]]></title><link>https://blog.youkuaiyun.com/success321/article/details/110637252</link><guid>https://blog.youkuaiyun.com/success321/article/details/110637252</guid><author>success321</author><pubDate>Fri, 04 Dec 2020 15:07:15 +0800</pubDate><description><![CDATA[甲方不同意在应用服务器上安装单机版redis，非得让分开服务器安装，于是有了两台redis服务器，最后做成了两台redis服务器主从复制，特此记录。
1.现在两台服务器上安装redis，由于我后来加了哨兵，所以我在第二台服务器上安装了两个redis，目录分别改名为redis-6379和redis-6380，安装的过程就不一一赘述了。
2.安装好redis之后，进行配置文件的修改
先修改主服务器
我下载了一个WinSCP，也向大家推荐一下，传文件修改文件很好用，最起码比vi某某文件去修改方便得多，百度下载即可]]></description><category></category></item><item><title><![CDATA[linux部署续篇--nginx各种报错,405 ,500]]></title><link>https://blog.youkuaiyun.com/success321/article/details/108403384</link><guid>https://blog.youkuaiyun.com/success321/article/details/108403384</guid><author>success321</author><pubDate>Fri, 04 Sep 2020 14:32:05 +0800</pubDate><description><![CDATA[上一篇文章部署好了软件也都启动了,可是还是报了很多错,现在总结一下
1.输入IP地址显示服务器拒绝连接
是因为linux的防火墙没关
1:查看防火状态
systemctl status firewalld
service  iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service  iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
2.nginx报错]]></description><category></category></item><item><title><![CDATA[linux部署项目,从安装软件到部署]]></title><link>https://blog.youkuaiyun.com/success321/article/details/108386345</link><guid>https://blog.youkuaiyun.com/success321/article/details/108386345</guid><author>success321</author><pubDate>Fri, 04 Sep 2020 09:04:23 +0800</pubDate><description><![CDATA[部署一个测试环境,不过跟真实环境是一样的,只不过是单服务器,我的项目是springboot+vue,记录下来过程,以便以后查阅
首先CRT连接上服务器
我先安装一个redis
直接官网下载https://redis.io/download
我下的是5.0.9版本的,你们可以下载最新的

下载好后,在CRT里输入命令把下载的安装包传到linux上

这个命令会唤醒上传框

找到安装包,点击"add",点击ok,上传成功

输入tar -axf redis-5.0.9.tar.gz进行安装包解压.
就会得到re]]></description><category></category></item><item><title><![CDATA[vue+elementUi日期控件控制开始时间和结束时间以及范围在12个月之内]]></title><link>https://blog.youkuaiyun.com/success321/article/details/108365411</link><guid>https://blog.youkuaiyun.com/success321/article/details/108365411</guid><author>success321</author><pubDate>Wed, 02 Sep 2020 16:54:44 +0800</pubDate><description><![CDATA[作为一个后端人员,写前端真的是太难受了,这个日期控件也是研究了好久才实现这么个简单功能,在此记录一下
我的控件只有到月份
效果
开始日期不可超过结束日期

开始日期不超过结束日期的前12个月

结束日期在开始日期之后

上代码啦
 &lt;el-form-item label="开始日期"&gt;
        &lt;el-date-picker
          v-model="dateRange[0]"
          size="mini"
          format="yyyy-M]]></description><category></category></item><item><title><![CDATA[多态&抽象类&接口]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103376966</link><guid>https://blog.youkuaiyun.com/success321/article/details/103376966</guid><author>success321</author><pubDate>Tue, 03 Dec 2019 21:20:00 +0800</pubDate><description><![CDATA[1、多态
1.1概述：同一个对象，在不同时刻表现出来的不同形态。
多态的前提和体现：有继承/实现关系；有方法重写；有父类引用指向子类对象。
1.2、多态中成员访问特点
成员变量：编译看左边，执行看左边；
成员方法：编译看左边，执行看右边。
因为成员方法有重写，而成员变量没有，所以访问不一样。
1.3、多态的好处和弊端
好处：提高了程序的扩展性。
具体体现：定义方法的时候，会用父类作为参数，将来使用...]]></description><category></category></item><item><title><![CDATA[继承]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103376804</link><guid>https://blog.youkuaiyun.com/success321/article/details/103376804</guid><author>success321</author><pubDate>Tue, 03 Dec 2019 21:10:59 +0800</pubDate><description><![CDATA[1、继承
1.1继承概述
继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法，还可以在子类中重新定义，追加属性和方法。
继承的格式
●格式：public claa 子类名 extends 父类名{}
●范例：public class Zi extends Fu{}
●Fu：是父类，也被称为基类、超类
●Zi：是子类，也被称为派生类
1.2、继承的好处和弊端
好处：提高了代码的复用性（多个...]]></description><category></category></item><item><title><![CDATA[字符串]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103218788</link><guid>https://blog.youkuaiyun.com/success321/article/details/103218788</guid><author>success321</author><pubDate>Sat, 23 Nov 2019 21:20:25 +0800</pubDate><description><![CDATA[1、API：应用程序编程接口。
Java API：指的就是JDK中提供的各种功能的Java类。
1.2、如何使用帮助文档



2、String
2.1、概述
String类在java.lang包下，所以使用的时候不需要导包。
String类代表字符串，Java程序中的所有字符串文字（例如“abc”）都被实现为此类的实例，也就是说，Java程序中所有的双引号字符串，都是String类的对象。
字符...]]></description><category></category></item><item><title><![CDATA[类和对象]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103207358</link><guid>https://blog.youkuaiyun.com/success321/article/details/103207358</guid><author>success321</author><pubDate>Fri, 22 Nov 2019 21:00:43 +0800</pubDate><description><![CDATA[今天的学习主要是偏概念类的，捋清思维，理解到位了就非常简单了，下面来梳理一下知识点。
1、类和对象
什么是对象？
万物皆对象，客观存在的事物皆为对象。
1.3、什么是类？
类是对现实生活中一类具有共同属性和行为的事物的抽象。
类的特点：类是对象的数据类型，类是具有相同属性和行为的一组对象的集合。
1.4、什么是对象的属性？
对象具有的各种特征，每个对象的每个属性都会拥有特定的值。
1.5、什么是对...]]></description><category></category></item><item><title><![CDATA[方法]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103183622</link><guid>https://blog.youkuaiyun.com/success321/article/details/103183622</guid><author>success321</author><pubDate>Thu, 21 Nov 2019 15:59:25 +0800</pubDate><description><![CDATA[学习了方法这个模块之后，我整个人是有点懵的，有点梳理不清楚返回值类型和参数在调用的时候应该怎么调用，在经过一天努力之后，现在感觉好多了，现在来梳理一下知识点。
1、方法概述
方法就是将具有独立功能的代码块组织成为一个整体，使其具有特殊功能的代码集。
注意：方法必须先创建才可以使用，该过程称为方法定义；方法创建后并不是直接运行的，需要手动使用后才执行，该过程称为方法调用。
2、方法的定义和调用
方法...]]></description><category></category></item><item><title><![CDATA[循环控制语句以及数组的应用]]></title><link>https://blog.youkuaiyun.com/success321/article/details/103112946</link><guid>https://blog.youkuaiyun.com/success321/article/details/103112946</guid><author>success321</author><pubDate>Mon, 18 Nov 2019 15:05:27 +0800</pubDate><description><![CDATA[这两天学习的for循环语句相比前两天的知识复杂了一点，但是自我感觉接受的还不错，重点还是多敲代码多做案例才能熟练使用，还学习了Idea这个软件，主要是idea项目的创建和软件内快捷键的使用。
1、switch语句，主要适用于if语句中条件==的情况，使用范围较小。
格式：
switch（表达式）
	case 1:
		语句体1;
		break;
	case 2:
		语句体2;
		break;...]]></description><category></category></item></channel></rss>