2020-09-08 知识点总结

3.11 数据库锁

数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。
悲观锁,从数据开始更改时就将数据锁住,直到更改完成才释放。
乐观锁,直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。完成更改后释放。

3.12 分区分表

什么是分表,从表面意思上看呢,就是把一张表分成 N 多个小表
什么是分区,分区呢就是把一张表的数据分成 N 多个区块,这些区块可以在同一个 磁盘上,也可以在不同的磁盘上

分区类型 range list hash key

3.13 应该使用哪一种方式来实施数据库分库分表,这要 看数据库中数据量的瓶颈 所在,并综合项目的业务类型进行考虑。

如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、 低耦合,那么规则简单明了、容易实施的垂直切分必是首选。
而如果数据库中的表并不多,但单表的数据量很大、或数据热度很高,这种情况 之 下就应该选择水平切分。

3.14 mysql 读写分离

在实际的应用中,绝大部分情况都是读远大于写。Mysql 提供了读写分离的机制,所有的写操作都必须对应到 Master,读操作可以在 Master 和 Slave 机 器上进行,Slave 与 Master 的结构完全一样,一个 Master 可以有多个 Slave,甚 至 Slave 下还可以挂 Slave,通 过此方式可以有效的提高 DB 集群的每秒查询率.

3.15 MySQL SQL 语句优化

1对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及 的列上建立索引。
2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行 全表扫描。
3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用 索引而进行全表扫描
4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引 而进行全表扫描
5.in 和 not in 也要慎用,否则会导致全表扫描

3.16数据库优化方案整理

1、优化分片键
2、优化索引
3、优化缓存
4、优化 sql语句

.Spring 框架

1.Spring 是什么?
Spring 是一个轻量级的 IoC 和 AOP 容器框架。是为 Java 应用程序提供基础 性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需 求。常见的配置方式有三种:基于 XML 的配置、基于注解的配置、基于 Java 的配置。

2.Spring 的优点?
属于低侵入式设计,代码的污染极低
spring 的 DI 机制将对象之间的依赖关系交由框架处理,减低组件的耦合性
Spring 提供了 AOP 技术,将一些通用任务进行集中式管理,从而提供更好的复用。
spring 对于主流的应用框架提供了集成支持

3、Spring 的 AOP 理解?
OOP 面向对象,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了 大量代码的重复,而不利于各个模块的重用
AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但 却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命 名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了 系统的可维护性。可用于权限认证、日志、事务处理

4、Spring 的 IoC 理解?
(1)IOC 就是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权 和时机是由自己把控的,而现在这种权力转移到 Spring 容器中,并由容器根据配置文件去 创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。
(2)最直观的表达就是,IOC 让对象的创建不用去 new 了,可以由 spring 自动 生产

5、Spring 的 IOC 有三种注入方式
Spring 的 IOC 有三种注入方式 :构造器注入、setter 方法注入、根据注解注入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值