计算机基础知识复习8.21

执行一条SQL语句的过程

通过TCP三次握手与数据库建立连接,验证用户名和密码,,获取到用户权限

解析SQL,先进行词法分析,识别出关键词select from,再进行语法分析,语法解析器会根据语法规则,判断输入的SQL语句是否满足MySQL语法,如果没有问题,就会创建SQL语法树。

执行SQL,在预处理阶段,会检查查询语句中的表或者字段是否存在,将select*中的*符号,扩展为表上的所有列。优化阶段,会确定查询语句的执行方法,例如多个索引,会选择一个来使用

执行阶段是从执行查询语句,从存储引擎读取记录,返回给客户端

http协议常见状态码

2xx 成功 报文已经收到并被处理

3xx 重定向 资源位置发生变动,需要客户端重新发送请求

4xx 客户端错误 请求报文有误,服务器无法处理

5xx 服务器错误,服务器在处理请求时内部发生了错误

java中的优先队列实现原理

priorityQueue是java基于堆的优先队列实现,能够实现在O(logn)的时间复杂度内实现元素的插入和删除,并且能够自动维护队列中元素的优先级顺序。

分布式事务2pc

2是指两个阶段,P是指准备阶段,C是指提交阶段。分布式事务协调者发送请求时,协调者向参与者,发送事务预处理请求,协调者向所有参与者发送事务内容,询问是否可以提交事务,并等待所有参与者答复。各参与者执行事务操作,将undo和redo信息计入事务日志中(并不提交事务)         如参与者执行成功,给协调者发送yes,执行失败则发送no

提交阶段协调者基于各个事务参与者的准备阶段,来决策是事务提交commit或是回滚,如果协调者收到参与者的失败消息或者超时,直接给每个参与者发送回滚消息,否则发送提交消息。当协调者收到来自所有参与者反馈的ack消息后,即完成事务中断

redlock是实现原理

是让客户端和多个独立的Redis节点依次请求申请加锁,如果客户端能够和半数以上的节点成功地完成加锁操作,则认为客户端成功获得分布式锁,否则加锁失败。加锁成功需要满足两个条件:客户端从超过半数的Redis节点上成功获取到了锁,客户端从大多数节点获取锁的总耗时小于锁设置的过期时间

MyBatis一级缓存和二级缓存

一级缓存是SQLsession级别,在操作数据库时需要构造sqlSession对象,在对象中有一个内存区域数据结构HashMap用于存储缓存数据。对于多次执行完全相同的SQL,MyBatis提供一级缓存来避免直接对数据库进行查询。如果执行更新的SQL语句,再次查询时缓存会失效,不同sqlSession对同一个SQL语句执行相同的查询操作,却对数据库执行了两次相同的查询操作,使用不同的查询条件,也会导致缓存失效

DNS域名解析的工作流程

客户端首先会发出一个DNS请求,问www.baidu.com的IP是啥,并发给本地DNS服务器               本地域名服务器收到客户端的请求后,如果缓存里的表格里能找到www.server.com,则它直接返回IP地址,如果没有,本地DNS会去问他的根域名服务器。根DNS收到本地DNS的请求后,告诉他去.com顶级域名服务器地址找。本地DNS收到顶级域名服务器的地址后,问顶级域名服务器。顶级域名服务器告诉他.server.com服务器地址,本地DNS再去权威DNS服务器查询后将对应的IP地址x.x.x.x告诉本地DNS.本地DNS再将IP地址返回给客户端,客户端和目标建立连接

Java创建对象的方法

使用new关键字

class对象的newInstance()方法。通过class.forName动态的加载类的class对象,然后通过newInstance()方法获得类对象

反序列化来获得类的对象

Object对象的clone方法

Java多态及实现案例

多态是指允许不同类的对象对同一消息作出响应,即同一个接口,使用不同的实例二执行不同操作

class Animal{
    public void eat(){
        System.out.println("动物吃饭");
    }
}

class Cat extends Animal{
    public void eat(){
        System.out.println("猫要吃饭");
    }
}

public class Demo1 {
    public static void main(String[] args) {
     
        Animal a = new Cat();
        a.eat();
    }
}

Redis中RDB和AOF混合持久化

开启方式:通过aof-use-rdb-preamble配置参数控制,yes则表示开启,no表示禁用

RDB有点是数据恢复快,但是快照频率不好把握,AOF优点是丢失数据少,但是数据恢复不快。

开启混合持久化后,前半部分是RDB格式的全量数据,后半部分是AOF格式的增量数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值