SpringBoot动态定时任务--利用hutool工具类实现 思路:首先是能够获取任务具体执行的类名,然后将任务类名以及cron表达式新增到数据库保存起来,有一个监听类,根据任务类名和cron表达式用来运行该定时任务。
idea点击鼠标左键进入方法后关闭之前类问题 会进入方法,会关闭之前的页面,导致看完这个方法,再回去看之前的就会发现tab上没有进来的那个类了,在设置里面关闭一下就能改回以前的了。的勾选,点击右下角的apply,应用一下就好了。idea更新之后,在java类中,按着。,找到Opening Policy,取消。
Java的Stream流,groupingBy之后无序解决办法 HaseMap是无序的Map,是根据key的hashcode进行hash,然后放入对应的地址。所以在按照一定顺序put进HashMap之后,遍历HashMap的顺序跟put的顺序不同。一般情况下,我们拿到List集合数据后是有序的,通过stream的groupingBy函数分组之后,顺序却被打乱了,并没有按照list里面的顺序进行返回。可以看到第三个函数是主要的实现分组功能的,有参数:classifier(分组条件)、mapFactory(分组用的map),downstream。
MySQL常见简单面试题 1、MySQL 索引使用有哪些事项呢?要注意索引失效情况;要添加的索引是否合适;注意索引规则等等索引失效情况:like通配符可能导致索引失效;对索引列进行运算,索引失效;对于联合索引,查询的条件不是联合索引中的第一个列,索引失效;如果字段类型是字符串,where时一定用引号括起来,否则索引失效;索引字段上使用(!= 或者 < >,not in)时,可能会导致索引失效。、查询条件包含or,可能导致索引失效;索引字段上使用is null, is not null,可能导致索引.
Java多线程——线程池的七大参数和四大拒绝策略 ThreadPoolExecutor类java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,ThreadPoolExecutor类继承了AbstractExecutorService,提供了四个构造方法,另外三个都是调用第四个构造方法进行初始化的: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
将List中的某一个元素移动到首位或指定位置 List集合的特点是有序、有下标,可重复的问题场景:从数据库查询多条数据放到List集合中,但突然想把集合中某一条数据向上移动,放到某一条数据后边,此时你又不能改变从数据库中查询结果的顺序,所以只能对集合进行处理。方法一:使用 Collections的swap方法。Collections.swap(list,a,b);list是你需要换位置的List。a是你当前需要换位置的元素的索引。b是你需要将这个元素换到哪个位置的索引。方法二:list.add(a, list.remove(b));
数据结构-线性表 线性表的基本概念线性表是最近本、最简单、也是最常用的一种数据结构,一个线性表是n个具有相同特性的数据元素的有限序列。线性表的特征:第一个数据元素没有前驱,这个元素被称为头结点;最后一个元素没有后驱,这个元素被称为尾结点;除了第一个和最后一个,其他数据元素有且仅有一个前驱和后驱。如果把线性表用数学语言来定义,则可以表示为 (a1, … , ai-1, ai, ai+1, … , an)。线性表中数据存储的方式可以是顺序存储,也可以是链式存储,按照存储方式不同,可以把线性表分为顺序表和链表。
快速排序算法 快排,顾名思义,就是很快的一种排序算法。核心就是:每次排序的时候,设置一个基准点,将小于等于基准点的放左边,大于等于基准点的放右边,跳跃式交换。基于“二分”的一种思想。但快排也有最坏情况,就是基准值选到最大或最小,导致数据跑到一边,最差时间复杂度是O(N2),平均时间复杂度为O(NlogN)。思路:选最左作为基准,用 j 从右往左遍历,如果比基准大,继续,比基准小,停,用 i 从左网游遍历,如果比基准小,继续,比基准大,停,然后交换 i 和 就 j 处的值,交换之后接着走,直到 i = j;
Spring Boot整合JWT 参考b站视频整理:https://www.bilibili.com/video/BV1i54y1m7cP?p=1springboot整合jwt步骤:1、登录时,验证账号和密码成功后,生成jwt,返回给前端;2、前端接收后保存,再做其他操作,比如增删改查时,同时将jwt传给后端进行验证,如果jwt当做参数一起传给后端,那么每个操作都会有jwt,为了方便,把jwt放到请求头中,通过拦截器来验证。代码代码结构图如下,除了常规的controller、entity、mapper和service层,还有两.
简单了解JWT 简单了解JWTJWT官方文档:https://jwt.io/introduction1 、JWT官方定义JWT(Json Web Token)翻译过来是:JSON网络令牌。它是一个开放标准 ( RFC 7519 ),它定义了一种紧凑且自包含的方式,用于在各方之间作为 JSON 对象安全地传输信息。该信息可以被验证和信任,因为它是经过数字签名的。JWT 可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。尽管 JWT 可以加密以在各方之间提供保密,但我们将重点关注签名
MySQL常见基础面试题 MySQL常见基础面试题1、什么是MySQL?MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司,免费,开源,而且体积小,速度快,很受欢迎。2、数据库的三大范式?第一范式(1NF):是指在关系模型中,所有的属性都应该是原子性的,不可再分;第二范式(2NF):在1NF的基础上,非主属性必须完全依赖于主码(在1NF基础上消除非主属性对主码的部分函数依赖);第三范式(3NF):在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依
180. 连续出现的数字【lead或row_number函数解决】 leetcode 数据库 --180. 连续出现的数字链接:https://leetcode-cn.com/problems/consecutive-numbers/编写一个 SQL 查询,查找所有至少连续出现三次的数字。+----+-----+| Id | Num |+----+-----+| 1 | 1 || 2 | 1 || 3 | 1 || 4 | 2 || 5 | 1 || 6 | 2 || 7 | 2 |+----+----
mysql 中的field() 排序函数 field() 函数:是将查询的结果集按照指定顺序排序。格式: FIELD(str,str1,str2,str3,...)什么时候用: 想让某几个特定的字段值放在最后,用field()函数。解释: str是字段名字,字符串str1,str2,str3等等,是该字段的值。函数意思: 匹配到str1,将其放到结果集最后返回。详细解析: 当字段值没有匹配到str1,str2或者str3的时候,按照正常排序;当匹配到这些的时候,会把没有匹配的值放到最前面,匹配到的放到后边,并且以写的顺序排序返回结果集。
JSON序列化和反序列化 1、什么是json序列化和反序列化?json序列化:就是JavaBean对象转化为JSON格式的字符串。反序列化:就是序列化的反方向,将字符串转化为JavaBean。2、为什么要序列化和反序列化?现在比较流行前后端分离的项目,前后端分离就离不开传递数据,一种好的数据表示形式让开发者和网站能轻易识别是很重要的,而这个数据表示形式就是json。这时候问题又来了,前端要json字符串,后端要javaBean对象(假设后端采用java语言)怎么办?此时就需要json的序列化和反序列化了。3、流行的类库j
sql函数之count() 建表插入数据建一个account表CREATE TABLE `account` ( `id` int(11) NOT NULL, `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `money` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY
小白学集合之看ArrayList和LinkedList源码 List实现类【重要】ArrayList:底层是数据,查询快,增删慢JDK1.2版本,运行效率快,线程不安全LinkedList:底层是链表,查询慢,增删快Vector:底层是数据,查询快,增删慢JDK1.0版本,运行效率慢,线程安全ArrayListArrayListDemo类是ArrayList的一些方法的使用。package com.list;import com.collection.Student;import java.util.ArrayList;import
小白学集合之List接口 List子接口它的父类是collcetion特点:有序、有下标,元素可以重复有序指的是:插入和取出的顺序一样方法:void add(int index, Object o) //在index位置插入对象oboolean addAll(int index, Collection c) //将一个集合中的元素插入到此集合index位置Object get(int index) //返回集合中指定位置的元素List subList(int fromIndex, int toInd