自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 事务的深入研究

事务1.事务的ACID指的是事务的四个特征:原子性(Atomicity)、一致性(Consistency)、隔离性(isolation)、持续性(Durability)2.详细理解1.原子性(Atomicity)食物是数据库的逻辑工作单位,事务中包含的个操作要么都做,要么都不做。在某个操作失败后,回滚到事务执行之前的状态。例如:一个简单的订单逻辑当加了事务的时候:五个步骤哪一个挂了,都应该直接回滚操作,要么都成功,要么都失败。2.一致性一致性是指事务使得系统从一个一致的状态转换到另一

2021-09-13 10:13:40 202

转载 RabbitMQ 定义及优点

RabbitMQMQ是什么RabbitMQ是一个消息代理 - 一个消息系统的没接。它可以为用户的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。MQ有什么优点可靠性提供了多种技术可以在性能和可靠性之间进行权衡,包括持久性机智、投递确认、发布者证实和高可用性机制。灵活的路由消息在到达队列前是通过交换机进行路由的。RabbitMQ为经典的路有逻辑提供了多种内置交换机类型。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至就可以实现自己的交换机类型,并且当做Rabb

2021-07-27 14:35:20 437

转载 索引研究:(六)索引使用

索引研究:(六)索引使用单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但是这不是组合索引。组合索引,即一个索引包含多个列。索引是在存储引擎中实现的,而不是在服务器层中实现的。所以每种存储引擎的索引都不一定完全相同,并不是所有的存储引擎都支持所有的索引类型。普通索引这是最基本的索引,他没有任何限制。普通索引(由关键字KEY或INDEX定义的索引)的唯一任务就是加快对数据的访问速度。因此,应该只为那些经常出现在查询条件(Where column = )或者排序条件(ORDER BY

2021-07-22 15:17:20 213

转载 索引研究:(五)Hash索引及其他索引

索引研究:(五)Hash索引及其他索引哈希索引基于哈希表实现,只有精确索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每一个数据的指针。MySQL中,只有Memory存储引擎显示支持hash索引。是Memory表的默认索引类型,尽管Memory表也可以使用B-Tree索引。Memory存储引擎支持非唯一hash索引,这在数据库领域是罕见的:如果多个值有相同的hash code,索引把他们的行指针用链表保存到同

2021-07-22 15:16:46 368

原创 索引研究:(四)聚簇索引(cluster index)

索引研究:(四)聚簇索引(cluster index)一个表只能有一个聚簇索引。目前,只有solidDB和InnoDB支持聚簇索引,MyISAM不支持聚簇索引。一些DBMS允许用户指定聚簇索引,但是MySQL的存储引擎到目前为止都不支持。InnoDB的聚簇索引:InnoDB对主键建立聚簇索引。如果你不指定主键,InnoDB会用一个具有唯一且非空值的索引来代替。如果不存在这样的索引,InnoDB会定义一个隐藏的主键,然后对其建立聚簇索引。InnoDB默认使用聚簇索引来组织数据,如果你用Inn

2021-07-22 15:16:12 1518

原创 索引研究:(三)mysql中的排序算法 - filesort

索引研究:(三)mysql中的排序算法 - filesort当mysql不能使用索引进行排序时,就会利用自己的排序算法(快速排序算法)在内存(sort buffer)中对数据进行排序;如果内存装载不下,它会将磁盘上的数据进行分块,再对各个数据块进行排序,然后将各个块合成有序的结果集(实际上就是外排序,使用临时表)。对于filesort,mysql有两种排序算法:二次扫描算法(two passes)先将需要排序的字段和可以直接定位到相关行数据的指针信息取出,然后在设定的内存(通过参数 sort_bu

2021-07-22 15:15:43 653

原创 索引研究:(二)B-Tree索引

索引研究:(二)B-Tree索引:B-Tree索引InnoDB使用的是B+Tree。B+Tree:每个叶子节点都包含指向下一个叶子节点的指针,从而方便叶子节点的范围遍历。B-Tree:通常意味着所有的值都是按照顺序存储的,并且每个叶子页到根的距离相同,很适合查找范围数据。B-Tree:可以对<, <=,=,>,>=,BETWEEN,IN,以及不以通配符开始的Like使用索引。索引查找可以利用B-Tree索引进行全关键字、关键字范围和关键字前缀查询,但是必须保证按索引的最

2021-07-22 15:14:47 236

原创 容器的深入理解

平时用的List entityList = new ArrayList<> 已经向上转型为List了,需要创建位对应的接口,当需要使用LinkedList / TreeMap的额外的方法的时候,就不能向上转型Collection接口概括了序列的概念,存放一组对象的方式文档中写的:“要确保这个Collection包含指定元素” 考虑到set只有在元素不存在的时候才会添加,在使用ArrayList / 任何种类的List中 .add()只是单纯的把它放进去,因为List不在乎是否重复添加

2021-07-14 13:54:27 94

原创 Group_concat在取聚合的数据的时候是无序的

Group_concat在取聚合的数据的时候是无序的例如: SELECT group_concat(user_name order by center_code) from tr_zhubiao where sex_name = '男' limit 10与 SELECT group_concat(user_name) from tr_zhubiao where sex_name = '男'

2021-07-14 13:52:24 603

原创 位运算算法(1)七进制数

位运算算法(1)七进制数给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。题目来自力扣:作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/bit-manipulation-and-math/o2sstt/来源:力扣(LeetCode)用到的思路:1.将十进制数转成 XX 进制数,需要对整数

2021-05-24 15:25:00 2246

原创 1分钟带你搞懂 mysql 表结构设计与优化

数据库设计字段格式1.字段大小 :对应问题 “ Out of range value for column ‘字段名’ ”基本长度:字节最小值最大值tinyint1有符号 -128 ;无符号 0有符号 127 ;无符号 255smallint2有符号 -32768;无符号 0有符号 32768 ;无符号 65535mediumint3有符号 -8388608;无符号 0有符号 8388607;无符号 1677215int、integer

2021-04-29 14:43:38 163

原创 工作中复杂sql优化

复杂sql优化思路1 .确定方向数据量:客户与标签关系表 : 数据量在 3W左右 后面预计 几十W主标签表:目前几百左右 预计在几K子标签: 目前不到3K 预计 1W多标签权限表:目前5K 预计5W多目标:查询单个客户,展示格式为:客户 + 基础信息1 +基础信息2 +基础信息3 +手动标签 +自动标签带标签筛选 ,基础信息1 ,2 ,3 筛选 ,手动标签 筛选2.实现方案初始实现方案查询客户与标签关系表 in 加外部接口筛选出来的客户 LEFT JOIN 客

2021-04-27 14:10:17 573

原创 记录使用fegin调用别的工程中的接口踩过的坑

记录使用fegin调用别的工程中的接口踩过的坑**1.接口文档要谨慎看!**查了很久的错误,最后发现是Client中GetMapping后面跟的url了少了个"/" ,这种错误真的让人心态崩溃,原因就是给我的接口文档上就写错了,我只测了接口文档里面给的swagger地址的接口然后就直接复制粘贴,导致出现了这个问题。**2.接口写完后,在测试自己接口的时候首先保证调用的别的工程里的接口返回格式返回值都是正确的!**真的这个问题也让人很无语,接口文档只给了Swagger地址,路由地址(然后地址还有个是错的)

2020-09-23 14:13:06 193

转载 @Deprecated注解作用

@Deprecated注解作用使用原因:外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。含义:简言之,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。或许有人会问 为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?答: 因为在一个项目中,工程比较大,代码比较多,而在后

2020-09-23 11:25:18 1602

原创 细说Get和Post请求方式

细说Get和Post请求方式1.背景昨天写了一个简单的查询请求,涉及到具体的逻辑不多描述,基本的思路:1.就是如果什么传输条件都不传的话就是将表里面有效的数据的某几个字段展示出来,2.若果有传输条件就以传输条件为过滤条件,过滤出有效的数据将其中的某几个字段展示出来。2.解决方法1.用Get的方式其实根据正常的思路查询就是应该用get更好,因为get耗费的资源比post要少,而且速度更快,使用户体验更好。下面这一篇博客就详细介绍了get和post的区别https://blog.csdn.net/

2020-09-23 11:18:57 707

原创 git操作

git操作1.到工作区,右键Git bash here2.git status 检查当前文件状态绿色的文件代表新增的,红色文件代表修改的。3.git pull 先更新最新版本的项目4.git status继续查看文件状态5.git add .将所有的文件放至工作区6.git commit -m 修改内容介绍-修改人7.git status 发现都被放到工作区啦,而且都被标记过了。8.git push 将文件推上去9.git status 看下成功了没有大功告成

2020-08-21 11:16:11 135

原创 @PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter注解的用法

@PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter注解的用法Spring Security中定义了四个支持使用表达式的注解,分别是  @PreAuthorize,@PostAuthorize,@PreFilter,@PostFilter: 其中前两者可以用来在方法调用前或者调用后进行权限检查,后两者可以用来对集合类型的参数或者返回值进行过滤。 要使它们的定义能够对我们的方法的调用产生影响我们需要设置global-method-security元素的

2020-08-04 17:24:17 2359 1

原创 简单易懂的Json的使用教程(jackson/fastjson)

Json的使用前言写好了一个项目,总结一下jason的使用,String类型的数据与Jason类型的数据之间相互转化的json解析工具有:Jackson,阿里巴巴的fastjson。本篇文章着重介绍一下jackonJason的使用1.导包百度jackson-databind,到Maven仓库里找到jackson的依赖,写入pom.xml里 <dependency> <groupId>com.fasterxml.jackson.core</groupId&

2020-07-30 15:08:34 613

原创 JSON.parseObject方法的使用

JSON.parseObject方法的使用概述前端的返回的数据是字符串,然后要借用Apache的HttpClient发送请求和处理请求返回的数据,这个参考HttpClient发送http请求的官方文档,对于处理好的数据(字符串)使用**JSONparseObject()**方法。用法1.导包<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifact

2020-07-29 17:44:19 11563

原创 Swagger常用的方法及配置流程

Swagger前言使用Swagger的好处1.RestFul Api 文档在线自动生成工具=>Api文档与API定义同步更新。2.可以直接运行,在线测试API接口。3.支持多种语言。官网http://swagger.io/使用的具体东西在项目中使用Swagger需要springbox;swagger2ui配置Swagger1.导入Swagger的Jar包(配置Maven)<!--添加Swagger依赖 --> <groupId>io.

2020-07-29 16:18:25 739 3

原创 git基础指令:分支管理:创建,查看,删除,合并(快进模式),冲突管理

分支管理1.创建分支两种方法来创建分支1.git checkout -b xxxxxx是分支名,这条命令等同于git branch xxx+git checkout xxx2.git switch -c xxx因为checkout与之前撤销操作很像容易混淆所以用switch来创建并进入分支xxx2.查看当前分支创建完分支之后应该及时查看防止创建分支出错导致后续工作无法进行。git branch命令是查看当前所有分支,而且当前分支前面会有一颗小*3.切换回master分支后,在dev分支的修改

2020-07-17 10:22:41 257

原创 git指令:删除、上传,第二天再次连接之前的仓库遇到的问题

1.git删除rm file.php 就直接删除了file.php的意思。确实要删除:git commit -m"del file.php"删除了:git checkout -- file.php撤销删除。2.上传git push origin master 将本地内容上传至云服务器3.重新连接上一次的仓库由于做一天学习完上传弄完就已经六点多了,就直接下班了,第二天再来的时候发现想继续昨天的练习发现找不到了就去查了一下转载地址:https://blog.csdn.net/weixin_38

2020-07-17 10:17:09 238

原创 git基础指令:修改,撤销修改,修改原理,版本回滚

Git 指令1.创建版本库及查看文件的区别改动1.git add xxx.php 将文件装载进git,这个文件必须是在仓库下,如果不在就会报错博客012.git status 用来查看运行结果,可以实时查看仓库状态3.git commit -m "文本"将文件提交到仓库 文本是每次你提交的时候要干的事情,这样下次查看就比较方便。4.git status用来查看运行结果,可以实时查看仓库状态5.git diff XXX.php将区别展示出来6.再提交之前最好status一下这样能看到有啥不同。g

2020-07-17 10:14:02 267

原创 回顾数组基本知识以及冒泡排序

数组数组的创建首选的方法是 dataType[] arrayRefVar;或者 dataType arrayRefVar[] // 效果相同,但不是首选方法语法:dataType[] arrayRefVar = new dataType[arratSize]eg. int[] nums; //1.声明了一个数组 int nums[]; c/c++用 nums = new int[10];可以存放10个int数组 // 2

2020-06-06 01:03:22 278

原创 Mysql中的插入数据和删除数据的用法

Mysql中的插入数据和删除数据的用法插入数据:INSERT INTO 语句用于向表格中插入新的行。INSERT INTO table_name VALUES (值1, 值2,....)-- 指定所要插入数据的列:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)SELECT INTO 语句从一个表中选取数据,然后把数据...

2020-03-16 13:24:40 722

原创 JAVA框架学习(一)

JAVA框架学习(一)1.JETTY下载及安装启动http://www.eclipse.org/jetty/previousversions.html不同版本的JDK对应不同版本的jetty,应仔细观察后下载,否则就会报错。下载完成后,解压安装包,在安装目录下有start.ini文件,打开后将端口号改为8888(防止与tomcat端口8080冲突)打开命令符窗口进入jetty文件,输入...

2020-02-13 22:21:23 140

原创 由浅入深学习Mysql(二)

eg.1修改删除表利用上一个博客中所创建的westos库下的student表来进行操作,操作过程为 **增加表的字段 **-删除表的字段 - 修改表的字段名-修改表的字段属性-修改表名代码:USE `WESTOS` -- 必须先定位wstos库不然会报错 ALTER TABLE student ADD age VARCHAR(3) -- 增加表的字段ALTER TABLE stude...

2020-02-08 13:49:17 238 1

原创 由浅入深学习Mysql(一)

由浅入深学习Mysql(一)eg.1创建学校数据库,并建立学生表格,内容包括ID 年龄 性别 姓名步骤1.1创建数据库右键选中root@localhost->创建数据库->弹出数据库窗口后 填写数据库名称 基字符集为UTF-8,数据库排序规则位utf8_general_ci,如图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tu8VuJ2C-1...

2020-02-08 01:09:11 351

原创 以淘宝网首页为copy对象自己做的网页

以淘宝网首页为copy对象自己做的网页<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>淘宝网1.0</title></head><body><!--头 header尾 fo...

2019-12-28 19:49:05 270

原创 根据HTML设计网页

根据HTML设计网页1.HTML基本界面进入Idea-new-HTML file,会创建下面的默认界面下面会详细解释一下每段的作用<!DOCTYPE html><!--DOCTYPE是文档类型,属于默认声明,声明了用的默认规范是html,这是HTML5用的--><html lang="en"><head> <meta ...

2019-12-19 14:32:34 549

原创 反射的作用、反射方法调用与普通方法性能测试

反射通过反射可以做的事:获取任意类的名称、package信息、所有属性、方法、注解、类型、类加载器等public class 1213lianxi { public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException, ...

2019-12-14 23:23:53 368

原创 元注解、系统内置标准注解、自定义注解概念区别

注解Annotations是一种元数据,其作用在于提供程序本身以外的一些数据信息,也就是说Annotation他不会属于程序代码本身,不参与逻辑运算,故而不会对原程序代码的操作产生直接的影响。1.Java与元数据元数据是关于数据的数据。在编程语言上下文中,元数据是添加到程序元素如方法、字段、类和包上的额外信息。Java 元数据(Annotation)是 J2SE 5.0 (研发历时近三年,...

2019-12-14 23:03:59 291

原创 成员内部类与局部内部类的理解

内部类概念:在其他类的内部新定义的类叫做内部类特点:内部类可以直接访问外部类的成员,包括私有(private)外部类要访问内部类的成员,必须创建对象。分类:按照内部类的位置分类分成a. 成员位置(在成员位置定义的类,与方法平行;在测试类中访问成员内部类的格式为‘‘外部类名.内部类名 对象名 = 外部类对象.内部类对象’’)b. 局部内部(在局部位置定义的类,在方法内;在测试类中...

2019-10-23 19:32:25 1131

原创 修饰符的深刻理解,包的理解

修饰符权限修饰符:private 私有的;啥也不写 默认的;protected 受保护的;public 公共的;状态修饰符:static 静态的; final 最终的(此词一出.变量直接常量)抽象修饰符:abstract (抽象类里面一定有抽象方法,有抽象方法的不一定是抽象类)这些修饰符可以修饰类 ,修饰成员变量,修饰构造方法,修饰成员方法,例如abstract修饰类的时候这个类就变成...

2019-10-23 19:31:13 190

原创 控制跳转语句break与continue与return的用法

控制跳转语句break与continue与return的用法break(中断)一般用在switch语句或者循环语句中,可以退出单层循环,击穿一层continue (继续)一般用在循环语句中,可以跳出一次循环,执行下一句代码例:在if语句内输入的break continue得到的输出语句次数不一样 public class boke { public static void ma...

2019-10-14 11:47:45 401

原创 利用if语句,三元运算符,键盘录入来比较多个数的大小

利用if语句,三元运算符,键盘录入来比较多个数的大小三元运算符格式及用法三元(三目)运算符的格式(关系表达式) ? 表达式1 : 表达式2;int a=(10>20)?30:50; a=50;三元运算符的执行流程计算关系表达式的值,如果为true, 运算后的结果是表达式1;如果为false,运算后的结果是表达式2;键盘录入格式导包格式:import java.uti...

2019-09-29 01:50:53 917

原创 一分钟搞懂逻辑运算符&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)之间的关系

逻辑运算符逻辑功能示例&(并且)有false则false1|(或者)有true则true。2!(非)非false则true,非true则false。3^(异或)相同为false,不同为true。4&&(短路与)有false则false,若&&左边表达式或者值为false则右边不进行计算5...

2019-09-29 01:09:14 54028 12

空空如也

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

TA关注的人

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