大家都知道,对于面试官来说,没有办法能够很直接的能问到面试者对于SQL的理解,所以就会有很多千奇百怪的问题就出现了,比如SQL优化,索引创建原则,索引的最左匹配原则,唯一索引,联合索引,甚至就开始询问关于MySQL的存储引擎了。MYSQL的存储引擎首先我们得先知道存储引擎是什么,百度百科是这么解释的:MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁...
2023-01-13 15:37:33 2995浏览 0点赞 0回复 0收藏
昨天阿粉已经讲述了关于MySQL的存储引擎都有哪些,我们再来回顾一下:MYSQL存储引擎分类:InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRGMYISAM、ARCHIVE、PERFORMANCESCHEMA。昨天阿粉主要说的是关于InnoDB存储引擎的特点,以及关于InnoDB的硬盘结构,还有他的优点,今天阿粉来讲一下关于MySQL存储引擎剩下的一些相关的内容,大家只需要了解一下,知道有这么回事就行了。MySQL的MyISAM存储引擎我们要知道一个事情,M...
2023-01-13 15:36:54 3929浏览 0点赞 0回复 0收藏
一、摘要谈起Redis,相信大家都不会陌生,做过云平台开发的程序员多多少少会接触到它,Redis英文全称:RemoteDictionaryServer,也被称之为远程字典服务。从官方的定义看,Redis是一款开源的,遵守BSD协议,使用C语言开发的keyvalue存储系统。简单的说,它是一款跨平台的非关系型数据库,支持优先内存存储,并提供多种语言的API客户端。Redis由一个叫SalvatoreSanfilippo的人开发而闻名世界,此人来自意大利的西西里岛,网名叫a...
2023-01-13 15:35:40 3901浏览 0点赞 0回复 0收藏
对于Component注解在日常的工作中相信很多小伙伴都会使用到,作为一种Spring容器托管的通用模式组件,任何被Component注解标注的组件都会被Spring容器扫描。那么有的小伙伴就要问了,很多时候我们并没有直接写Component注解呀,写的是类似于Service,RestController,Configuration等注解,不也是一样可以被扫描到吗?那这个Component...
2023-01-13 15:34:50 3326浏览 0点赞 0回复 0收藏
一、摘要在上一篇文章中,我们详细的介绍了随着下单流量逐渐上升,为了降低数据库的访问压力,通过请求唯一ID+redis分布式锁来防止接口重复提交,流程图如下!每次提交的时候,需要先调用后端服务获取请求唯一ID,然后才能提交。对于这样的流程,不少的同学可能会感觉到非常鸡肋,尤其是单元测试,需要每次先获取submitToken值,然后才能提交!能不能不用这么麻烦,直接服务端通过一些规则组合...
2023-01-13 15:33:03 3816浏览 0点赞 0回复 0收藏
阿粉之前也讲述过关于RabbitMQ的相关内容,比如他们的配置,以及RabbitMQ整合SpringBoot使用,而且自己使用过之后,就会在自己的简历上面写上自己使用RabbitMQ实现了什么功能,但是这就会导致,有些面试官就会问一些关于RabbitMQ的一些相关的问题,比如,RabbitMQ中的交换机是什么,RabbitMQ中的路由都有哪些?反正诸如此类的问题,都是属于相对简单的问题,但是也不排除会有一些相对高级一点的问题,就比如接下来的关于RabbitM...
2023-01-13 15:31:43 3405浏览 0点赞 0回复 0收藏
一、摘要在上一篇文章中,我们详细的介绍了对于下单流量不算高的系统,可以通过请求唯一ID+数据表增加唯一索引约束这种方案来实现防止接口重复提交!随着业务的快速增长,每一秒的下单请求次数,可能从几十上升到几百甚至几千。面对这种下单流量越来越高的场景,此时数据库的访问压力会急剧上升,上面这套方案全靠数据库来解决,会特别吃力!对于这样的场景,我们可以选择引入缓存中间件来解决,可选的组件有re...
2023-01-13 15:30:42 3238浏览 0点赞 0回复 0收藏
日常工作中Map绝对是我们Java程序员高频使用的一种数据结构,那Map都有哪些遍历方式呢?这篇文章阿粉就带大家看一下,看看你经常使用的是哪一种。通过entrySet来遍历1、通过for和map.entrySet()来遍历第一种方式是采用for和Map.Entry的形式来遍历,通过遍历map.entrySet()获取每个entry的key和value,代码如下。这种方式一般也是阿粉...
2023-01-13 15:26:15 2293浏览 0点赞 0回复 0收藏
一、摘要对于投入运营的软件系统,最近小编在巡检项目数据库的时候,发现某些表存在不少的重复数据,对于这样的脏数据,初步分析大致的来源有以下可能:1.由于用户误操作,多次点击表单提交按钮2.由于网速等原因造成页面卡顿,用户重复刷新提交页面3.黑客或恶意用户使用postman等网络工具,重复恶意提交表单这些情况都可能会导致表单重复提交,造成数据重复,比如订单表,重复提交订单数据所造成的问题,可能不仅仅是数据上的混...
2023-01-13 15:25:34 2778浏览 0点赞 0回复 0收藏
上篇我们讲了while循环,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。dowhile循环和while循环很像,唯一的区别是我们在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不...
2023-01-11 14:27:43 2745浏览 0点赞 0回复 0收藏
前面阿粉说了关于MD5加密算法,还有RSA加密算法的实现,以及他们的前世今生,今天阿粉在来说一下这个关于DES加密算法,又是怎么实现的。DES加密算法DES加密,是对称加密,之前阿粉也已经说了这个对称加密和非对称加密都是代表了什么意思,对称加密,顾名思义,加密和解密的运算全都是使用的同样的秘钥。DES加密算法原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格...
2023-01-11 14:26:58 3263浏览 0点赞 0回复 0收藏
阿粉最近也在刷LeetCode上面的题,因为LeetCode的题,很多都是在注重算法的实践上,殊不知,阿粉在前几道题目上就写出了像是垃圾一样的代码。看了其他的代码,瞬间感觉为什么自己没有思考出来这么好的方法呢?LeetCode第一题LeetCode上面的第一道题,也是入门基础的题,求和。给定一个数组和一个目标和,从数组中找两个数字相加等于目标和,输出这两个数字的下标。这个题是什么意思呢?相信大家肯定也都知道,给你个数组,数组...
2023-01-11 14:24:30 3180浏览 0点赞 0回复 0收藏
if语句可以判断条件是否满足,满足时才做相应的动作,而循环语句可以在满足条件时,不断地重复执行一些动作。重复执行的语句(循环语句)可以多次执行其他语句,它检查一个逻辑条件是否满足,只在满足的时候执行它的循环体。while语句是一个循环语句,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或...
2023-01-11 14:23:42 2479浏览 0点赞 0回复 0收藏
for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步进行调整,比如加1或者减一。这篇文章的内容将讲解以下知识点:for循环和while循环区别①for循环和while循环区别for(初始动作;条件;每轮的动作){}for中的每一个表达式都是可以省略的for(条件;)while(条件)案例:阶乘写一个程序,让用户输入N,然后计算的结果需要用一个变量保存,可以...
2023-01-11 14:23:08 2248浏览 0点赞 0回复 0收藏