架构师必备的20个英文缩写,看你知道几个?


架构师必备的20个英文缩写,看你知道几个?

文章插图
 
作为一个架构师,如果在面试的时候,面试官说出了一个英文缩写,这个时候如果你没有听过,是不是很尴尬?而且你也没办法针对这个问题进行描述回答!所以,多学习一些基础的英文缩写,一是面试可以游刃有余,二是可以装逼!下面的20个缩写,你都能讲清楚吗?
IOC:
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度 。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup) 。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它 。也可以说,依赖被注入到对象中 。
AOP:
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型 。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率 。
CAS:
是一种乐观锁机制 。CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换 。CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B 。更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B 。
CAP:
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance) 。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾 。
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值 。(等同于所有节点访问同一份最新的数据副本)
可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求 。(对数据更新具备高可用性)
分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求 。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择 。
AICD:
事务属性AICD:
原子性(Atomicity):整体不可分割性,要么全做要不全不做 。
一致性(Consistency) :事务执行前、后数据库状态均一致 。
隔离性(Isolation) :在事务未提交前,它操作的数据,对其它用户不可见(从其他session读取的数据还是commit之前的数据状态) 。
持久性(Durability):一旦事务成功,将进行永久的变更,记录与redo日志 。
RC:
数据库隔离级别,Read Committed(读取提交内容) 。
(1) 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)
(2)它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变
(3)这种隔离级别出现的问题是——不可重复读(Nonrepeatable Read):不可重复读意味着我们在同一个事务中执行完全相同的select语句时可能看到不一样的结果 。
RR:
数据库隔离级别,Repeatable Read(可重读) 。
(1)这是MySQL的默认事务隔离级别 。
(2)它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行 。
(3)此级别可能出现的问题——幻读(Phantom Read):当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行 。
(4)InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题 。
Binlog:
是The Binary Log的简称,意思就是二进制的日志文件 。binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录 。默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看 。当有数据写入到数据库时,还会同时把更新的SQL语句写入到对应的binlog文件里,这个文件就是上文说的binlog文件 。使用mysqldump备份时,只是对一段时间的数据进行全备,但是如果备份后突然发现数据库服务器故障,这个时候就要用到binlog的日志了 。主要作用是用于数据库的主从复制及数据的增量恢复 。


推荐阅读