- 博客(23)
- 资源 (7)
- 收藏
- 关注
原创 IN和EXISTS对比
IN语句:IN原理:in中语句select uid from B,然后将B表中查询出的uid结果存储到内存中(以hash集合的方式),注意:内存中。然后判断A表中的id是否在该集合中存在,如果存在就将A表中的记录加入到结果集里面去。直到A表中所有记录遍历完为止。IN讨论:由于要遍历B集合,当B表数据较大时,可能会将B中uid全部遍历完如:A表有10000条记录,B表有1000000条记录,那么最多有可能遍历10000* 1000000次,效率有点差。如:A表有10000条记录,B表有100条记录,
2022-06-14 22:40:58
140
原创 设计数据库表的注意事项
三范式规范化(Normalization)是用于数据库设计的一系列原理和技术,它可以减少表中数据的冗余,增加数据完整性和一致性。第一范式(1NF)是指表中的字段都是不可再分的原子属性,同时表需要有一个主键。第二范式(2NF)首先需要满足第一范式,非主键字段必须完全依赖于主键字段,不能只依赖于主键的一部分。第三范式(3NF)首先需要满足第二范式,非主键字段不能依赖于其他非主键字段。为了提高查询性能可以降低规范化的级别,也就是反规范化(Denormalization)假如说现在我们有一个表,这个表
2022-06-09 15:52:55
1016
原创 Spring+Scheduled
Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器。定时类编写注意这个类需要开启 @EnableScheduling 注解,支持定时任务,这里不开启问题也不大,也可以放在 spring启动器的类上写注解...
2022-05-26 14:28:44
94
原创 QPS,并发数,RT等名词的解释
QPS每秒查询QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。并发数并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力RT响应时间响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。响应时间RT(Response-time),是一个系统最重要的指标之
2022-05-25 18:32:09
981
原创 SpringBoot的自动装配原理
介绍:springboot的自动装配原理,从启动类上的注解来解释@SpringBootApplication@SpringBootApplication详解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = Fi
2022-05-18 11:11:26
170
原创 元空间的详解
Metaspace内存管理概述在metaspace中,类和其元数据的生命周期与其对应的类加载器相同,只要类的类加载器是存活的,在Metaspace中的类元数据也是存活的,不能被回收。–所以基本上不存在类回收每个加载器有单独的存储空间。省掉了GC扫描及压缩的时间。当GC发现某个类加载器不再存活了,会把对应的空间整个回收。Metaspace VM使用一个块分配器(chunking allocator)来管理Metaspace空间的内存分配。块的大小依赖于类加载器的类型。Metaspace VM
2022-05-12 23:27:29
5112
原创 SpringBoot+rabbitmq实现其六种工作模式
介绍rabbitmq有六种工作模式。我们使用springboot整合实现rabbitmq的六种工作模式,并在其中谈及如何调用ack。准备工作导入springboot的rabbitmq的场景,还有一个web场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</arti
2022-05-04 13:36:23
867
原创 ConcurrentModificationException
public class arraylistTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("1"); System.out.println("原始list元素:"+ list.toString
2022-03-23 18:01:33
158
原创 @transactional失效的场景
Spring事务失效的场景spring团队建议在具体的类上或者类的方法上使用@Transactional注解,不要使用在任何的类要实现的接口上。接口上使用@Transactional注解,只有当设置了基于接口的代理的时候才会生效。注解不能被继承,意味着当如果使用基于类的代理的时候,事务的设置也不能被基于类的代理识别。而对象也不会被事务代理所包装事务失效的场景1、数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都
2022-03-22 09:48:58
241
原创 minio的使用
minio的基础概念Object: 存储到Minio的基本对象,如文件,图片Bucket: 用来存储Object的逻辑空间,每个Bucket之间是互相隔离的。对于客户端而言,就相当于一个存储的顶层文件夹。Drive: 存储数据的磁盘。在Minio启动的时候,以参数的方式传入。Minio中所有的对象,minio中的所有对象都会存储在Drive中Set :即一组Drive的集合,分布式部署依据集群规模自动划分为一个或者多个Set,每个Set中的Drive分布在不同的位置 ,一个对象存储
2022-03-21 16:09:28
2969
原创 线程池的使用
为什么要使用线程池我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的方法讲起,然后再讲
2022-03-21 13:10:55
134
原创 SpringMVC跨域问题
一个基本的前后端分离的项目,前端使用Vue,后端使用SprinBoot原因是请求里面请求头不包含access-control-allow-origin,这是浏览器的保护机制,不是请求没到后端这个原因是同源策略,也就是要求协议,域名,端口都相同的才是同源,这里的端口不同Vue: http://localhost:8080SpringBoot:http://localhost:8081/list跨域资源共享的后端解决方法CORS :Cross Origin Resource Sharding
2022-03-19 23:28:55
496
原创 spring的yaml文件的多环境的配置 dev test prd
SpringBoot 多环境配置(test,dev,prd)首先在application.yml同目录下新建两个名为application-dev.yml和application-prd.yml的配置文件,这两个文件里配置项的写法和application.yml是一样的比如 添加多个配置文件格式为application.yamlapplication-dev.yamlapplication-prd.yaml#根据不同的环境(开发环境和生产环境)选额不同的配置文件。开发环境,active的值为d
2022-03-08 14:23:22
711
原创 maven的相关使用
build属性使用maven构建的项目可以直接使用maven build完成项目的编译、测试、打包,无需额外配置。build标签描述了如何编译及打包项目,具体的编译和打包工作是通过其中的plugin配置来实现的。当然,plugin不是必须的,即使不添加默认也会引入以下插件:如果有需要可以另外进行配置,以下配置了编译时使用的jdk版本。 因为maven默认使用JDK5版本的,如果我们需要按照JDK8以及以上进行编译,我们需要使用properties里面的JDK版本 <!--一般
2022-02-18 21:18:35
129
原创 MySQL中索引失效的场景
MySQL中索引失效的场景用一句口诀记录:模型数空运最快模–代表模糊查询型–代表数据类型数–代表函数空–代表NULL运–代表数值运算最–代表最左原则快–代表全表扫描最快1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。2、or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效3、组合索引,不是使用第一列索引,索引失效。4、数据类型出现隐式转化。如varchar不加单引号的话可能会自动
2022-02-14 10:21:03
997
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人