本文主要是介绍计算机基础知识复习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格式的增量数据
这篇关于计算机基础知识复习8.21的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!