自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot笔记

但是如果courseBaseNew中有数据,dto中没数据,那么也会被覆盖,所以一些需要自己后来添加的数据最好是放在这个方法的后面。统一异常处理: 异常通常采取往上抛的形式(throw new xxxException("xxx"))第二步: 定义一个自己这个项目的异常类,继承runtimeException(图2)这个是和前端约定的返回的异常信息的模型errMessage。第三步: 编写我们自己的异常处理器(图3)图3中的方法是针对我们自己编写的异常类的处理方法。

2024-03-21 21:29:23 201

原创 http client (idea插件用来接口测试)

第二步: 在文件提供的路径后面补充测试数据,切记content-type下面一定要空一行。接下来要记得回到http文件里面,切换一下,切换到dev,然后再次运行。注意: 可以创建一个特定目录来存储接口测试文件。第一步: 选这里直接生成。

2024-03-18 15:37:13 359

原创 Linux知识

表示以易于阅读的形式,列出文件大小,如K,M,G(通俗一点讲就是可以在-l显示的列表中把每个文件的具体大小所对应的数字的单位显示出来,没有-h的时候是不会显示单位的)选项-g: 表示指定用户的组,如果不指定-g,会自动创建一个同名的组自动加入,指定-g需要组已经存在,如果已经存在同名组,必须使用-g。Linux系统的命令行终端,在启动的时候,默认加载当前登录用户的HOME目录作为工作目录,所以ls列出的是HOME目录中的内容。

2023-09-27 20:52:43 102

原创 order模块给User模块发送http请求

spring提供了一个工具叫做RestTemplate,这个工具就是spring提供给我们来发送http请求的。

2023-09-26 14:06:47 135

原创 bean加载properties文件(spring)

复制一下第二行的信息,然后粘贴一下,把粘贴过来的所有beans替换成context。

2023-09-23 23:30:41 231

原创 依赖的注入

配置中id是类中要注入的对应的类的对象ref是 在配置中<bean>标签中写的id。

2023-09-23 21:58:55 107

原创 bean的生命周期

configurablleApplicationContext中才有close这个方法。必须手动关闭容器,在虚拟机退出之前(程序执行完虚拟机就退出了)bean的销毁方法默认是不会触发的。

2023-09-23 20:48:08 261

原创 三大bean的实例化方法

构造方法可以是私有的,因为bean的实例化使用的是反射但是构造方法不能是有参构造,否则会报错。

2023-09-23 20:24:51 102

原创 spring

注意:定义id时 不要定义重复了。

2023-09-23 19:19:39 173 1

原创 读写分离MySQL

利用Mycat控制后台数据库的读写分离和负载均衡利用主从复制思想,实现读写分离,主库写,从库读从库最好不要写,因为从库写入的数据不能同步到主库,只有主库写的数据才能同步到从库balance属性值对应的含义(负载均衡)

2023-09-22 23:53:03 262

原创 Mycat管理及监控

h 是你自己的ip地址。

2023-09-22 21:57:07 91

原创 分库分表的分片规则

适用于主键id值不是数字,不能采取范围分片和取模分片的情况下分片的节点数量必须自己指定,否则无法分片。

2023-09-22 15:33:49 69

原创 分库分表MySQL

下载mycat,去官网下。

2023-09-22 10:23:29 489 1

原创 主从复制MySQL

细节:1.主库提供增删改的操作,从库提供查询的操作,分担主库压力2.通过从库备份,全局锁不影响查询,只不过加了全局锁在从库中的数据同步会有一定延迟3.从库也可以做别的服务器的主库。

2023-09-21 20:55:08 280

原创 MySQL日志

show variables like '%log_error%' 是用来模糊查询,查询日志文件地址的。

2023-09-21 16:45:45 58

原创 MySQL管理

e 执行SQL并退出。

2023-09-21 09:02:21 206

原创 InnoDB引擎---MVCC多版本并发控制

加锁读即使在线程里面也能读到最新数据,如下图所示普通读隔离级别越高,并发性越弱在这里解释一下rr(repeatable read):不是说只有第一个是快照读,只是后面每次查的都是前面产生的快照DB_RWO_ID是隐藏主键,并不是每次都有的,只有当我们创建的表没有隐藏主键的时候才会有他快照读所读取的就是undo.log这个日志文件里面的上个版本的数据注意:max_trx_id,不是最大活跃事务ID,是预分配事务ID,也就是下一个要分配的事务的ID(id+1)不同隔离级别,生成ReadView的时机不同

2023-09-20 21:42:23 48

原创 锁(全局锁,表级锁,行级锁)

1.mysqldump -uroot -p1234 itcast>itcast.sql这个语句不要在mysql中执行,要在windows中执行2.如果访问的是远程的数据库,不是Windows本机的记得加-h3.如果你在加锁的窗口退出mysql这个全局锁会立马失效,所以需要在一个新窗口完成备份。

2023-09-20 09:38:52 62

原创 视图/存储过程/触发器

or replace可以不写(用于替换)重点是as 后面的select语句。

2023-09-19 09:11:49 52

原创 SQL优化

一次性插入的数据不超过500-1000条,如果要插入1w条,使用多条批量插入。

2023-09-17 22:26:34 50

原创 MySQL索引的使用

1.using index condition: 查找使用了索引,但是需要回表查询数据(回表查询:先进行二级查询再进行聚集查询)using index: 查找使用了索引,但是需要的数据都在索引列中能找到,所以不需要回表查询数据。2.建立索引的时候尽量使用联合索引,不然如果查询条件过多的话还是会回表查询(使用联合索引要遵循最左前缀法则)尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少select *.4.索引会影响增删改的效率,而且还会占用磁盘空间,所以索引要适当。

2023-09-17 15:28:09 78

原创 苍穹外卖项目

后端工程基于Maven搭建进行项目构建,并且进行分模块开发。

2023-09-15 12:45:38 150

原创 部分springboot注解

补充:如果没加ResponseBody注解的话,假如返回值是String,他其实表示的是模板文件的名字比如说jsp文件的名字,他会根据返回的字符串去找到相关的页面,相当于再把页面返回给浏览器。@ResponseBody注解表示方法返回的结果直接作为HTTP响应的内容,而不是返回一个视图。他是一个组合注解,包含了@Controller注解和@ResponseBody注解。用来接收请求体中的数据,常使用请求体传参的无疑就是POST请求了;不支持GET请求,因为他是通过URL传参。

2023-09-15 12:44:54 36

原创 Git仓库

细节:项目中的.gitignore文件就是用来管理哪些文件不需要本地仓库管理。

2023-09-15 00:06:40 31

原创 MySQL性能分析工具(Linux)

show global status like 'com_______'(七个下划线)

2023-09-14 13:29:26 76

原创 JWT令牌

注意:打算使用jwt令牌时,要创建一个jwtutils的工具包类,然后在登录接口中生成jwt令牌并且传给浏览器。

2023-09-07 08:42:40 79 1

原创 AOP面向切面编程(面向特定方法编程)

编写aop类的时候要加@Component交给bean容器管理,加@Aspect这个注解,代表他不是一个普通类,是一个aop类要在aop类中调用原始方法运行需要运用下面这个函数(ProceedingJoinPoint joinPoint是得从方法中传过来的形参)result用于后面的return(防止有的原始方法有返回值)

2023-09-06 00:07:48 108 1

原创 拦截器(interceptor)

拦截器需要写一个配置类具体要实现这个方法,并且在方法中创建拦截器对象addInterceptor,拦截器对象为我们前面创建的那个类对象,因为我们把他交给bean容器管理了,所以直接依赖注入就行addPathPatterns用来定义拦截的资源。

2023-09-04 00:08:28 69 1

原创 filter过滤器

记得执行这个放行操作(写在重写的dofilter这个方法里面) 这个方法需要两个参数,一个请求对象,一个响应对象都是重写的dofilter这个方法传过来的(包括filterchain)执行放行操作前的逻辑会被执行到,执行放行操作后的逻辑也会被执行到。

2023-09-03 16:22:20 33

原创 redis缓存穿透

缓存穿透的定义:如果下一次插入一条key为1的数据,就会产生不一致问题补充:1.缓存预热的时候,布隆过滤器也要预热 2.当存储数据的时候会把id为1的数据,经过多个hash计算,根据hash计算数组把这个对应位置在位图中改为1

2023-08-31 10:12:51 35

原创 java中的内部类与外部类关于static的用法

如果在这次使用过程中根本没有使用过这个类,那么是不是就会浪费内存。这样来说设计不合理,总而言之,设计不合理的地方,Java是不会让它存在的。而为什么内部类可以使用static修饰呢,因为内部类算是类的成员了,如果没有使用静态来修饰,那么在创建内部类的时候就需要先有一个外部类的对象,如果我们一直在使用内部类,那么内存中就会一直存在外部类的引用,而我们有时候只需要使用内部类,不需要外部类,那么还是会浪费内存,甚至会造成内存溢出。使用static修饰内部类之后,内部类在创建对象时就不需要有外部类对象的引用了。

2023-08-29 16:42:46 176 1

原创 范式的理解

2NF:满足1NF,且数据库表中的每个实例或行必须可以被唯一地区分,为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。每一个非主属性完全依赖于R的某个候选键,则称R为第二范式模式。BCNF:建在第三范式的基础上,如果关系模型R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R为BCNF的模式。符合BCNF的,并消除了删除异常、插入异常和更新异常。3NF:满足2NF,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。1NF:属性(字段)不可分的原子性,即同一列中不能有多个值。

2023-08-28 16:36:34 37 1

原创 每日小记(2023年8月27日)

基类成员在派生类的访问属性取决于继承方式以及这些成员本来在基类中的访问属性。(1)基类的私有成员无论何种继承方式在派生类中均不可直接访问。(2)在公有继承方式下,基类的保护和公有成员在派生类中均保持原访问属性。(3)在保护继承方式下,基类的保护和公有成员在派生类中的访问属性均为保护属性。(4)在私有继承方式下,基类的保护和公有成员在派生类中的访问属性均为私有属性。

2023-08-27 20:43:06 38

原创 每日小记--数据库case when(2023年8月25日)

B、C选项使用COUNT函数,是计的返回的条数,不管返回的是0、1还是2,都会计1,而B选项中不满足条件返回的是NULL不会计数,所以B对,C错。A、D选项都是使用SUM函数,满足条件就计1,不满足就计0,所以正确。

2023-08-27 13:55:18 62

原创 每日小记(2023年8月26日)

计算字符串的长度是从第一个字符开始一直计数到第一个’\0’为止(不包含‘\0’),对于st存放的字符串,第6个元素就是’\0’,所以字符串的长度是5,但数组st的大小与赋值的字符串无关,是其定义时的大小20。所以正确答案是B。

2023-08-27 12:52:42 37

原创 每日小记--接口(2023年8月25日)

既然是实现接口,就要实现接口的所有方法,相当于重写方法,方法的重写需要满足:三同一大一小(方法名、返回值类型、形参相同;访问权限>=重写前;抛出异常

2023-08-25 15:49:28 64 1

原创 每日小记--c++重载(2023年8月25日)

除了类属关系运算符”.“、成员指针运算符”.*“、作用域运算符”::“、sizeof运算符和三目运算符”?:“以外,C++中的所有运算符都可以重载。简记:带点的都不能重载,sizeof也不例外。

2023-08-25 15:34:00 66 1

原创 每日小记--广度优先遍历(2023年8月25日)

图的广度优先遍历,类似树的层序遍历,需要借助辅助队列实现。以A答案为例,从结点h开始访问,h先入队。此时队列非空,h出队,然后依次访问与h邻接但未被访问过的c,a结点,c,a结点入队。此时队列非空,取出队头元素c,依次访问与c邻接但未被访问过的结点b,d,b,d结点入队(现在队列中有abd)。队列非空,取出队头元素a,依次访问与a结点邻接但未访问过的e结点,e入队。后面的操作类似,在整个执行过程中,结点被访问的次序是hcabdegf。

2023-08-25 15:29:06 50 1

原创 每日小记--指针数组和数组指针(2023年8月25日)

可以看出fun函数的形参是一个指针数组,也就是指针指向一个地址,地址中存放的内容也是指针。B,二级指针,也就是指针指向的内容也还是存放指针的,符合。C,二级指针数组,数组的内容是二级指针,不符合。A,二维数组,不符合。D,数组指针,不符合。

2023-08-25 14:54:16 45 1

原创 每日小记--数组地址(2023年8月25日)

注意:数组地址不能做自增运算。

2023-08-25 14:13:38 72 1

空空如也

空空如也

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

TA关注的人

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