一、标志位寄存器的概念
目前学习到的:ZF、CF、OF、PF、SF
ZF:零标志位,表明执行完上一次指令的结果是否为0,如果为0,那么ZF标志位为1。
CF:进位(借位)标志位,表明上次计算完的结果是否发生了向更高位的进位(借位),如果发生了进位或者借位,那么此标志位为1,否则为0。
OF:溢出标志位,表明执行完上一个指令时否发生了溢出。如果发生了溢出,那么此标志位为1。
PF:奇偶标志位,表明执行完上一个指令时结果的所有的位数中1的位数是否是偶数个,如果是偶数个,那么次标志位为1,否则为0。
SF:符号标志,表明执行完上一个指令是结果是否是负数,如果是负数,那么次标志位为1,否则为0。
目前的疑问:CPU如何知道执行的是一个无符号计算还是一个有符号的计算,或者说编程者如何知道自己是否应该读取影响的标志位呢?因为书中说的CF、OF、SF这三个标志位,其中CF一般用于无符号的计算,OF一般用于有符号的计算,SF两者都用,但是取决于如何看待计算的是无符号还是有符号数。
二、ADC和SBB
ADD:操作数1+操作数2+CF
SBB:操作数1-操作数2-CF
除了普通的求和指令和求差指令,CPU还提供和根据操作数以及CF进位(借位)标志位进行加法或者减法的计算。因为普通的加法和减法不能计算很大的数据,因为会发生数据的进位以及溢出,而且通过观察,可以发现,将加法或者减法进行高位以及低位的拆解即可发现,加法的计算既是低位的求和(如果有进位时进行进位)以及高位的求和加上低位的进位;减法亦是如此,是低位的求差(如果有借位进行借位)以及高位的求差减去低位的借位。所以可以使用ADC进行或SBB进行更大的数据运算。
三、nginx
什么是nginx以及nginx的基本安装以及基本的概念的理解
location标签的不同的配置的方式
=:完全匹配
/:路径匹配
~:正则匹配【区分大小写】
~*:正则匹配【不区分大小写】
!~:正则匹配不包含【区分大小写】
!~*:正则匹配不包含【不区分大小写】
四、Spring
@Configuration、@Bean、@Import、@Lazy、@Scope、@Conditional、@ComponentScan、@Filter
@Configuratin:完全类似于之前的注册bean的xml文件的配置
@Bean:向容器中注入Bean
@Import:快速的向容器中注册bean,可以使用的方式包含直接注入类型、ImportSelector的实现类、ImportBeanDefinitionRegistrar的实现类
@Scope:指定bean的作用域,类似于之前的xml配置的bean的作用域,默认是单例的
@Lazy:当使用@Scope指定bean是单例时,可以使用该注解实现延迟加载
@Conditional:指定满足指定条件的Bean才可以被注入到IOC容器中
@ComponentScan:自动包扫描的未知
@Filter:当指定了自动扫码包时,如果需要指定哪些包需要被扫到,哪些包不能被扫到的注解
FactoryBean:Spring自己提供的注入bean的方式,直接通过ID获取到的Bean是调用FactoryBean的getObject方法的返回值的实例,如果向要获取FactoryBean本身,那么需要在获取的时候在ID前加入&前缀