isolation:[ˌaɪsəˈleɪʃn]
:隔离
1、事务特性(事务的基本要素)
事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID )。
- ACID指:原子性,一致性,隔离性 ,持久性
(1)原子性(Atomicity [ˌatəˈmɪsɪti]):
- 定义:指一个事务要么全部执行,要么不执行 ,也就是说一个事务不可能只执行了一半就停止了.
如:你从取款机取钱,这个事务可以分成两个步骤: 1划卡,2出钱.不可能划了卡,而钱却没出来.这两步必须同时完成.要么就不完成。
(2)一致性(Consistency[kənˈsɪstənsi]):
- 定义:在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束没有被破坏;
如:银行转帐,A转帐给B,必须保证A的钱一定转给B,一定不会出现A的钱转了但B没收到,否则数据库的数据就处于不一致(不正确)的状态。
(3)隔离性(Isolation [ˌaɪsəˈleɪʃn]
- 定义:并发事务执行之间互不影响,在一个事务内部的操作对其他事务是不产生影响,这需要事务隔离级别来指定隔离性;
(4)持久性(Durability[ˌdʊrəˈbɪləti]
- 定义:事务一旦执行成功,它对数据库的数据的改变必须是永久的,不会因比如遇到系统故障或断电造成数据不一致或丢失。
2、隔离性(事务的隔离级别)
isolation :隔离级别 多个客户端间操作的隔离性【Client——>Service】
(1)DEFAULT: 采用数据库默认隔离级别(Spring提供的)
- Spring框架提供的隔离级别,当前使用的数据库对应的默认隔离级别
(2)READ_UNCOMMITTED: 读未提交
解析:不同客户端之间可以在一次事务中读取到其他客户端没有提交的事务
(3)READ_COMMITTED: 读提交 用来避免脏读现象出现的
-
read_ommited:oracle默认隔离级别
-
解析:不同客户端之间可以在一次事务中读取到其他客户端已经提交的事务
(4)REPEATABLE_READ: 可重复读主要是用来避免不可重复读现象出现的
-
单词:repeatable:[rɪˈpi:təbl] 可重复的
-
repeatable_read:mysql默认隔离级别
-
解析:在一次事务中一方更新,导致两次查询结果不一致这种情况叫不可重复读
(5)SERIALIZABLE : 序列化读 用来避免幻影读现象出现
-
幻影读概念:在一次事务中一方插入,导致两次查询结果不一致这种情况叫幻影读
-
解析:一个客户端在一次事务中多次读取一张表的数据 结果一致
| 隔离级别 | 隔离级别值 | 脏读 | 不可重复读 | 幻读 |
| — | — | — | — | — |
| 未提交读(Read-Uncommitted) | 0 | 是 | 是 | 是 |
| 提交读(不可重复读 )(Read-committed) | 1 | 否 | 是 | 是 |
| 可重复读(repeatable-read) | 2 | 否 | 否 | 是 |
| 串行化 (serializable) | 3 | 否 | 否 | 否 |
隔离级别的特点:隔离级别从低到高,级离级别越高越安全, 但是锁的内容越高,效率越低
===========================================================================
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Spring全套教学资料
Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。
目录:
部分内容:
Spring源码
- 第一部分 Spring 概述
- 第二部分 核心思想
- 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
- 第四部分 Spring IOC 高级应用
基础特性
高级特性 - 第五部分 Spring IOC源码深度剖析
设计优雅
设计模式
注意:原则、方法和技巧 - 第六部分 Spring AOP 应用
声明事务控制 - 第七部分 Spring AOP源码深度剖析
必要的笔记、必要的图、通俗易懂的语言化解知识难点
脚手框架:SpringBoot技术
它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。
- SpringBoot入门
- 配置文件
- 日志
- Web开发
- Docker
- SpringBoot与数据访问
- 启动配置原理
- 自定义starter
微服务架构:Spring Cloud Alibaba
同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
- 微服务架构介绍
- Spring Cloud Alibaba介绍
- 微服务环境搭建
- 服务治理
- 服务容错
- 服务网关
- 链路追踪
- ZipKin集成及数据持久化
- 消息驱动
- 短信服务
- Nacos Confifig—服务配置
- Seata—分布式事务
- Dubbo—rpc通信
Spring MVC
目录:
部分内容:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
HT0Yz-1712767231810)]
部分内容:
[外链图片转存中…(img-PC5zRmas-1712767231811)]
[外链图片转存中…(img-eRpy6xbY-1712767231811)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-Eh1qXQJK-1712767231811)]