摘要: 1.spring的模式,尤其是单例模式,都有哪些应用场景,优缺点有哪些;(单例模式被提问,有想要引出线程安全,内存模型,类加载机制等一些比较核心的知识)单例模式:保证类只有一个实例,并且单例类必须自己创建自己的唯一的实例,然后提供给其他对象进行使用;应用场景有:日志应用,多线程的线程池,I/O与数据 阅读全文
posted @ 2021-09-14 12:53 一颗小红星 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 数据库并发场景有三种,分别为: ​ 1、读读:不存在任何问题,也不需要并发控制 ​ 2、读写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读 ​ 3、写写:有线程安全问题,可能存在更新丢失问题 ​ MVCC是一种用来解决读写冲突的无锁并发控制,也就是为事务分配单项增长的时间 阅读全文
posted @ 2021-08-31 00:37 一颗小红星 阅读(1274) 评论(0) 推荐(0) 编辑
摘要: 1、MVCC ​ MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更 阅读全文
posted @ 2021-08-31 00:36 一颗小红星 阅读(1292) 评论(0) 推荐(0) 编辑
摘要: 1、开启慢查询日志,准确定位到哪个sql语句出现了问题 2、分析sql语句,看看是否load了额外的数据,可能是查询了多余的行并且抛弃掉了,可能是加载了许多结果中并不需要的列,对语句进行分析以及重写 3、分析语句的执行计划,然后获得其使用索引的情况,之后修改语句或者修改索引,使得语句可以尽可能的命中 阅读全文
posted @ 2021-08-31 00:21 一颗小红星 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 基于锁的属性分类:共享锁、排他锁。 基于锁的粒度分类:行级锁(innodb )、表级锁( innodb 、myisam)、页级锁( innodb引擎)、记录锁、间隙锁、临键锁。 基于锁的状态分类:意向共享锁、意向排它锁。 共享锁(share lock): 共享锁又称读锁,简称 S 锁;当一个事务为数 阅读全文
posted @ 2021-08-31 00:15 一颗小红星 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 索引的数据结构和具体存储引擎的实现有关,mysql中使用较多的索引有hash索引,B+树索引,innodb的索引实现为B+树,memory存储引擎为hash索引。 B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的二节点间有指针相关连接,在B+树上的常规检索,从根节点到 阅读全文
posted @ 2021-08-31 00:04 一颗小红星 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 1、谁控制谁:在之前的编码过程中,都是需要什么对象自己去创建什么对象,有程序员自己来控制对象,而有了IOC容器之后,就会变成由IOC容器来控制对象, 2、控制什么:在实现过程中所需要的对象及需要依赖的对象 3、什么是反转:在没有IOC容器之前我们都是在对象中主动去创建依赖的对象,这是正转的,而有了I 阅读全文
posted @ 2021-08-30 23:45 一颗小红星 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 多个事务方法相互调用时,事务如何在这些方法之间进行传播,spring中提供了7中不同的传播特性,来保证事务的正常执行: ​ REQUIRED:默认的传播特性,如果当前没有事务,则新建一个事务,如果当前存在事务,则加入这个事务 ​ SUPPORTS:当前存在事务,则加入当前事务,如果当前没有事务,则以 阅读全文
posted @ 2021-08-30 23:42 一颗小红星 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例 prototype:原型模式,每次通 阅读全文
posted @ 2021-08-30 22:36 一颗小红星 阅读(561) 评论(0) 推荐(0) 编辑
摘要: spring和springMvc: spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案; springMvc是spring基础之上 阅读全文
posted @ 2021-08-30 15:47 一颗小红星 阅读(7518) 评论(0) 推荐(1) 编辑