自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 都2023年了还不知道@CacheEvict的坑吗?

为啥一个@CacheEvict会调用keys命令呢,一般大家都知道keys是会阻塞线程的,更何况redis是单线程执行,一个keys就可以搞崩整个redis,通常情况下都用scan命令代替keys命令,那就一看究竟吧

2023-07-20 09:58:22 867

原创 记一次删除oracle高水位线问题

最近在oracle生产上删除数据以及高水位时,发现一些问题, 在此记录一下

2023-06-21 11:05:17 550

原创 自定义编程式事务

Transactional也被称为声明式事务管理,通过AOP的方式由Spring容器集中管理,另一种就是编程式事务管理了,可以自由的控制事务的范围,虽然没有@Transactional 那么舒服,但是至少透明可控啊,代码如下。简单来说,在事务被开启到commit为止,数据库会一直占用锁资源,其次所有的事务视图会一直保存着,暂用存储空间,如果涉及到大量数据变更或io连接的话,就更加难堪了,最严重的就是数据库挂掉,这要是到生产影响可就不是一毛两毛的事了。新建事务,如果当前存在事务,把当前事务挂起。

2022-09-27 19:45:23 473 1

原创 关于switch的坑,你中过招吗

关于switch的坑,你中过招吗

2022-08-29 15:54:55 201

原创 Mybatis plus 启动项目时报错Invocation of init method failed; nested exception is java.lang.NullPointerExcep

Mybatis plus 启动项目时报错Invocation of init method failed; nested exception is java.lang.NullPointerException

2022-07-02 16:53:43 10555

原创 记一次mongoDB-@Document(collection = “XXX“)配置的探索

直接开门见山,大多数会用mongoDB开发的都知道实体类上加上**@Document(collection = “XXX”)**可以直接将操作指定到对应的XXX 集合中,但是对应第一次玩mongoDB的我却浑然不知(留下没有技术的眼泪)。起因是因为每次调用都需要指定collectionName,如下Long totalCount = mongoOperations.count(query, reqDTO.getClass(),"refund_error");List<OperatorBilling

2021-12-08 18:39:49 2893

原创 分布式项目启动时报错:Duplicate spring bean id XXX

分布式项目启动时报错:Duplicate spring bean id XXX报错如下org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from URL [file:/F:/marketing/marketing-service/target/classes/dubbo/consumer-beans.xml]; nested exception

2021-11-08 17:48:30 1158

转载 跳表

跳表二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现,如果数据存储在链表中,对链表稍加改造,就可以支持类似“二分”的查找算法。我们把改造之后的数据结构叫做跳表(Skip list),它是一种各方面性能都比较优秀的动态数据结构,可以支持快速地插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树(Red-black tree)。Redis 中的有序集合(Sorted Set)就是用跳表来实现的1、原理如果要想在其中查找某个数据,也只能从头到尾遍历链表。这样查找效率就会很低,时间复

2021-04-06 23:46:55 157

原创 二分查找

一、二分查找二分查找(Binary Search)算法,也叫折半查找算法,是一种针对有序数据集合的查找算法,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。时间复杂度:O(logn)(对数时间复杂度)常量级时间复杂度的算法有时候可能还没有 O(logn) 的算法执行效率高。O(1) 有可能表示的是一个非常大的常量值,比如 O(1000)、O(10000)1、二分查找的递归与非递归实现(1)有序数组中不存

2021-04-06 23:27:15 198

原创 数据结构排序学习总结

排序算法执行效率的分析,从这几个方面来衡量1. 最好情况、最坏情况、平均情况时间复杂度2. 时间复杂度的系数、常数 、低阶3. 比较次数和交换(或移动)次数原地排序(Sorted in place)。原地排序算法,就是特指空间复杂度是 O(1) 的排序算法排序算法的稳定性:如果待排序的序列中存在值相等的元素,经过排序之后,相等元素之间原有的先后顺序不变,如果两个 3 的前后顺序没有改变,那我们就把这种排序算法叫作稳定的排序算法冒泡排序(Bubble Sort)冒...

2021-03-20 20:24:37 2378

转载 栈与队列学习总结

栈与队列学习总结栈结构特点:后进者先出,先进者后出,同时栈是一种“操作受限”的线性表,只允许在一端插入和删除数据栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈。时间空间复杂度分析在入栈和出栈过程中,只需要一两个临时变量存储空间,所以空间复杂度是 O(1)。不管是顺序栈还是链式栈,入栈、出栈只涉及栈顶个别数据的操作,所以时间复杂度都是 O(1)。特殊情况:对于出栈操作来说,不会涉及内存的重新申请和数据的搬移,所以出.

2021-03-20 19:40:48 6066

原创 递归学习总结

递归学习总结递归需要满足的三个条件1. 一个问题的解可以分解为几个子问题的解2. 这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样3. 存在递归终止条件** 写递归代码的关键就是找到如何将大问题分解为小问题的规律,并且基于此写出递推公式,然后再推敲终止条件,最后将递推公式和终止条件翻译成代码。如果一个问题 A 可以分解为若干子问题 B、C、D,可以假设子问题 B、C、D 已经解决,在此基础上思考如何解决问题 A。而且,只需要思考问题 A 与子问题 B、C、D..

2021-03-20 19:34:30 113

原创 链表学习总结

1、链表的分类单链表、双向链表和循环链表单向链表只有一个方向,结点只有一个后继指针 next 指向后面的结点。而双向链表,顾名思义,它支持两个方向,每个结点不止有一个后继指针 next 指向后面的结点,还有一个前驱指针 prev 指向前面的结点。循环链表是一种特殊的单链表,循环链表的优点是从链尾到链头比较方便。当要处理的数据具有环型结构特点时,就特别适合采用循环链表。2、删除、插入操作删除操作在实际的软件开发中,从链表中删除一个数据无外乎这两种情况:删除结点中“值等于

2021-03-13 16:55:59 653

原创 复杂度分析学习总结

复杂度分析学习总结1、大 O 复杂度表示法T(n) = O( f(n) )其中,T(n) 表示代码执行的时间;n 表示数据规模的大小;f(n) 表示每行代码执行的次数总和。公式中的 O,表示代码的执行时间 T(n) 与 f(n) 表达式成正比。大 O 时间复杂度实际上并不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势,所以,也叫作渐进时间复杂度(asymptotic time complexity),简称时间复杂度。 int cal1(int n) {

2021-03-13 16:25:35 894

原创 处理业务代码中循环遍历出现的性能问题

处理业务代码中循环遍历出现的性能问题在开发中很多场景下我们都会用到foreach循环遍历一个list,并在内部通过sql再去查询对应的数据,代码如下public void test(){ // 获取知识点关联数据 List<KnowledgeRelate> list = getKnowledgeRelate(); for(KnowledgeRelate relate : list){ // 执行 list.size()

2020-10-28 18:09:49 367

转载 Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法1)、容器中登录mysql,查看mysql的版本mysql> status;2)、进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)授权GRANT ALL ON . TO ‘root’@’%’;...

2019-08-01 22:26:03 390

原创 关于yum安装后提示There are no enabled repos Run "yum repolist all"..的问题解决

关于yum安装后提示There are no enabled repos Run “yum repolist all”…的问题解决1)、一般情况下是因为wget未安装导致的,先去官网下载对应的wget,我的是centos7,地址是http://mirrors.163.com/centos/7/os/x86_64/Packages/,如果是centos5或6版本的就改为http://mirrors...

2019-08-01 09:07:25 14891 2

原创 去掉BootStrap的错误弹框信息

去掉BootStrap的错误弹框信息找到jquery.dataTables.js,修改如下

2019-07-31 15:06:37 446

mysql 5.6.38 安装(redhat 6).pdf

基于linux 的mysql 5.6.38 安装,本文适用于通过rpm二进制方式安装,使用源码安装的请自行百度

2020-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除