-
SpringBoot+MyBatis+AOP 实现多数据源动态自主切换
在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一种数据,而且在大数据量的业务下通常都会有多个数据源的。最近恰好工作上遇到一个SpringBoot+Mybatis框架的多数据源配置切换的业务,所以就研究了一下关于Springboot+Mybatis多数据源切换。1.多数据源常...
LoveIT 2023-01-30Spring -
备战2023 金三银四 java面试题训练营之MySQL专题
1.MySQL分表分库底层设计原理2.MySQ分表分库如何查询呢?3.分表分库JOIN连表如何查询4.分表分库之后分页如何查询5.分表分库之后分布式事务如何处理6.分表分库聚合函数如何查询7.分表分库分片策略有哪些8.分表分库后数据如何平滑扩容9.不同场景下如何选择分片算法10.谈谈MySQL...
LoveIT 2023-01-30MySQL -
12312321
3123123123123123
ITman996 2022-04-13简介 -
1111
11111
ITman996 2022-04-08简介 -
git 如何忽略已经提交的文件或文件夹 (.gitignore文件无效)
使用idea提交代码的时候可能会遇到想要忽略的文件夹出现在提交列表中的情况。以.idea目录举例。假如之前没将.idea目录添加到.gitignore文件中,提交代码的时候又把.idea目录提交上去了,那后面再在.gitignore文件中添加.idea目录是不会让提交列表中的.idea目录消失...
LoveIT 2022-01-22Git -
Git 撤销已经push到远端的代码
其实是没有直接让远端代码回复到某次的指令,实现撤销push的思路如下:1.先让代码恢复到想要恢复的前一次提交记录2.重新提交代码,覆盖端上的代码,就相当于撤销了push的提交实现方式如下:1.首先使用gitlog找到要回退版本的commit版本号;2.gitreset--hard<版本号...
LoveIT 2021-11-15Git -
基于maven-archetype自定义项目脚手架
开发中,我们通常会使用maven内置的脚手架也就是archetype来快速生成项目结构。但是在开发中,你会发现maven预先提供的archetyp远远不够,每次新建一个项目,我们都需要从现有的项目copypom.xml,spring的配置文件,一些公共的工具类等,对于多module项目,我们还...
LoveIT 2021-11-14Maven -
手把手教你制作原版win10系统安装盘
这两天电脑突然坏了,鼠标不能正常移动了,起初以为是系统出了问题,就在网上搜索了一波教程,下载了一个一键装机工机具,没想到重装系统之后连鼠标都没有了!!!毫无疑问,装机工具给我安装的系统不对劲,作为计算机专业出身而且是程序汪的我怎么能把电脑带去电脑维修店呢!!!于是就又上网寻找了一波教程,终于找...
LoveIT 2021-10-28Windows -
Spring教程:事物详解(三)声明式事务源码详解
引言上篇我们着重对Spring编程式事物进行了源码阅读以及原理分析,了解了Spring事物的运行原理,但这种管理事务的方式的代码侵入行非常高,现在开发基本不会使用这个,而且现在Java开发基本都会使用SpringBoot,配合SpringBoot的自动配置,声明式事物简直不要太好用!本篇就深入...
LoveIT 2021-10-26Spring -
Spring教程:事物详解(二)编程式事务源码详解
引言Spring提供了两种事物管理实现方式:编程式事务管理:编程式事务管理使用TransactionTemplate可实现更细粒度的事务控制。声明式事务管理:基于SpringAOP实现。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交...
LoveIT 2021-10-26Spring -
Spring教程:事物详解(一)初探事物
引言很多coder在不理解事务的原理甚至连基本概念都不清楚的情况下,就去使用数据库事务,是极容易出错,写出一些自己不能掌控的代码。网上很多文章要不就是概念,或者一点源码,或者一点测试验证,都不足以全面了解事务,所以本文出现了,本系列Spring事务详解包含四部分:第一章讲概念,对事务的整体有一...
LoveIT 2021-10-26Spring -
Java Lambda表达式和函数式接口
1.Lambda表达式介绍Lambda表达式本质是一种匿名函数,简单地说,它是没有声明的方法,也没有访问修饰符、返回值声明和名字。你可以将其想做一种速记,在你需要使用某个方法的地方写上它。当某个方法只使用一次,而且定义很简短,使用这种速记替代之尤其有效,这样,你就不必在类中费力写声明与方法了。...
LoveIT 2021-10-24Java基础 -
Java 流式编程(Stream API)
1.什么是流式编程对于java来说,我们最常用的面向对象编程属于命令式编程(ImperativeProgramming)这种编程范式。常见的编程范式还有逻辑式编程(LogicProgramming),函数式编程(FunctionalProgramming)。java8也引入了函数式编程,结合L...
LoveIT 2021-10-24Java基础 -
Git切换远程仓库地址
1、切换远程仓库地址方式一:修改远程仓库地址【gitremoteset-urloriginURL】更换远程仓库地址,URL为新地址。方式二:先删除远程仓库地址,然后再添加【gitremotermorigin】删除现有远程仓库【gitremoteaddoriginurl】添加新远程仓库2、【gi...
LoveIT 2020-12-19Git -
充分理解跨域问题并解决跨域问题
现在越来越多的项目就算是一个管理后端也偏向于使用前后端分离的部署方式去做,为了顺应时代的潮流,前后端分离就产生了跨域问题,所以许多同学把跨域和前后端分离项目联系在了一起,其实跨域产生的原因并不是前后端分离导致的,那我们一起来看一下,希望可以靠这一篇文章解答大家所有的跨域问题。跨域产生的条件使用...
LoveIT 2020-12-15Nginx -
centOS 7下无法启动网络(service network start)错误解决办法
今天在centOS7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了。现把各种解决方法归纳整理,希望能让后面的同学少走点歪路。。。首先看问题:执行servicenetworkrestart命令后出现下面的错误:根据提示输入systemctlstatusn...
LoveIT 2020-12-13Linux -
SpringBoot整合RocketMQ实现消息发送和接收
三步走:导包-->写配置-->编码及测试1、引入依赖在SpringBoot工程中直接引入对应的starter就好了rocketmq-spring-boot-starter用法简介当开发中需要快速集成RocketMQ时可以考虑使用rocketmq-spring-boot-starte...
LoveIT 2020-12-11RocketMQ -
RocketMQ 消息存储
分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。消息生成者发送消息MQ收到消息,将消息进行持久化,在存储中新增一条记录返回ACK给生产者MQpush消息给对应的消费者,然后等待消费者返回ACK如果消息消费者在指定时间内成功返回ack,那么MQ认为消息消费成功,在存储中删除消息,即执行...
LoveIT 2020-12-07RocketMQ -
海量数据处理:如何从10亿个数中,找出最大的10000个数?(top K问题)
问题:有10亿个不重复的数字,内存中只能放进1万个数,怎么找到最大的1万个数字?此题多数互联网公司在面试的时候都会问到,这里简单总结一下。我将在下面介绍一些基本的海量数据处理的方法,供大家参考。需要明确的一点是,现实情况复杂多变,所以对于海量数据处理这样大的主题,是不可能用一篇博客就说清楚的。...
LoveIT 2020-12-05数据结构与算法 -
RocketMQ 顺序消息、延时消息、批量消息、过滤消息和事物消息之发送和消费案例
1、顺序消息消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。顺序消费的原理解析,在默认的情况下消息发送会采取轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息,这种情况发送和...
LoveIT 2020-12-02RocketMQ