面试题30天打卡-day09

news2024/10/6 22:27:44

1、一条 SQL 语句在 MySQL 中的执行过程是怎样的?

image-20230228093034450

  1. client 根据SQL语法,定义好SQL语句,向MySQL建立连接
  2. 连接器:client 首先要与 MySQL 建立连接,这就需要一个连接器,负责与 client 建立连接、权限验证、管理连接。
  3. 分析器:client 和 server 连接完成了,向 server 发送 sql 请求,连接器不会直接处理,会转给分析器,对这条 sql 进行词法分析,例如识别出来“select”关键字,知道这是一个查询语句,识别出表明、字段名等,词法分析之后就是语法分析,判断是否满足 mysql 语法。
  4. 优化器:经过了分析器,MySQL就知道该怎么做,执行怎么样的sql操作(CRUD)。
  5. 执行器:通过前面的分析器、优化器,MySQL在执行器这里就知道该怎么具体的执行SQL。
    • 基本逻辑:调用存储引擎“取满足条件的第一行”这个接口,然后循环取“满足条件的下一行”这个接口,将所有满足条件的行组成结果集返还给客户端。

2、什么是 IOC,简单讲一下 Spring IOC 的实现机制?

IOC(Inversion of Control,控制反转)是一种编程思想,它的核心思想是将对象的创建和依赖关系的管理交给容器来完成,从而实现解耦合和灵活性。它通过配置文件或注解的方式,将对象之间的依赖关系描述出来,并由容器负责对象的创建、管理和调用。

Spring IOC 的实现机制主要包括以下几个步骤:

  1. 配置文件加载(定义Bean):Spring IOC 首先从配置文件中读取对象的定义和依赖关系,通常使用 XML 或者注解的方式进行配置。
  2. 创建Bean工厂
  3. 对象实例化(创建Bean实例):Spring IOC 根据配置文件中的定义,通过反射机制创建对象的实例,并将其保存在容器中。
  4. 依赖注入:Spring IOC 根据配置文件中的依赖关系,将对象之间的依赖关系进行注入。具体的方式包括构造器注入、Setter 方法注入和字段注入等。
  5. 提供bean

Spring IOC 实现了对象的解耦合和依赖关系的管理,通过容器的方式实现了对象的统一管理和调用,提高了应用程序的灵活性和可维护性。同时,Spring IOC 还支持 AOP 等高级特性,使得应用程序的开发更加方便和高效。

3、并发和并行有什么区别?同步和异步有什么区别?

并发(Concurrency)是指多个任务交替执行,以达到快速响应用户请求的目的。在一个单 CPU 系统中,任务并不是真正同时执行的,而是通过操作系统的时间片分配机制交替执行的。在一个多 CPU 或者分布式系统中,可以通过真正的同时执行来提高系统的并发处理能力。

并行(Parallelism)是指同时执行多个任务,不同于并发的是,它是在多个处理器上进行的真正并行执行。在并行计算中,多个任务可以同时执行,相互独立,各自处理自己的数据。

同步(Synchronous)是指在发起一个操作后,必须等待操作的结果才能进行下一步操作。在同步模式下,发送请求的一方会一直等待对方的响应,直到收到响应后才能进行下一步操作。

异步(Asynchronous)是指在发起一个操作后,不需要等待操作的结果就可以进行下一步操作。在异步模式下,发送请求的一方不会阻塞等待响应,而是继续执行下一步操作,当响应返回后再进行相应的处理。

在编程中,同步和异步通常涉及到多线程或者多进程的并发处理。同步模式通常使用阻塞机制实现,而异步模式通常使用回调函数或者事件驱动机制实现。

。同步模式通常使用阻塞机制实现,而异步模式通常使用回调函数或者事件驱动机制实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

User accounts with SSH access to Amazon EC2 Linux instance

文章目录 一、Need to prepare ssh remote connection tool二、Enter the command and submit the pem file三、Access successful and operation performed 一、Need to prepare ssh remote connection tool For example, using XSHELL 二、Enter the command and submit t…

云通讯服务商有哪些?

随着语聊、视频通话、直播等行业的兴起,云通讯厂商的作用越来越凸显,解决画面卡顿、解决声音延迟以及基于互动领域更多的行业解决方案已经成为开发者和企业所需。 从长远来看,随着5G的不断普及,低延迟、高质量的网络环境不断催生线…

单片机课设和电子设计大赛仿真分享

兄弟们,我这有一堆单片机课设和电路图仿真,大家可以看一下 这是所有项目的一部分。 这是项目的里面的资料。 还有一堆仿真,这个只有仿真 下面的字是凑字数的,就是为了更好让大家看到这个福利 当今社会是一个电子信息技术飞速发展的…

头歌c语言实训项目-综合案例课外练习:火柴游戏

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 第1关:火柴游戏1 题目: 代码思路: 代码表示: 第2关&…

winform电影售票系统

一、前言 C#winform电影售票系统sqlserver数据库 主要技术: 基于C#winform架构和sql server数据库的电影售票系统 随着互联网高速发展,人们的娱乐生活也逐渐丰富,最普遍的娱乐休闲方式之一就是到电影院看电影,那么传统的电影订票…

数智化招采平台系统中智能用印解决方案,从细节上降本增效

随着现代市场的发展,企业规模的不断扩大,分支机构众多 ,用印管理在异地使用 、签字时带来了不便。在招标采购领域中,用印的智慧化管理模式已逐渐成为企业缩短信息传递时间、提高采购工作效率、实现降本增效的重要手段之一 。 经过…

JFrog Artifactory的数据备份与恢复教程

ps:码字,截图不容易,如果对您有帮助,请点个赞,评论下,谢谢 目录 一、数据备份 1、使用管理员账号登录JFrog的后台,点击“Backups”选项 2、查看备份规则 3、修改备份规则 4、测试备份规则是否…

管理后台项目-03-SPU列表-增删改SPU-获取SKU

目录 1-spu模块分析 2-spu三级分类和列表页面 3-添加修改spu 3.1-点击新增和修改逻辑分析和功能实现 3.2-图片上传逻辑分析 3.3-销售属性逻辑分析 3.4-保存spu信息 1-spu模块分析 我们看到spu组件模块,上面是三级联动,这个我们已经在上一篇属性那…

vue+oss实现服务端签名后直传的图片上传功能

vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能前言一、java服务端签名接口设计二、Vue element UI的upload图片上传三、前端直传oss可能出现跨域问题四、服务端签名流程总结 前言 基于Post …

Java基层卫生健康云源码 医院HIS信息管理系统源码

近年来,随着互联网技术的快速发展,云计算技术也得到了广泛的应用。云计算技术不仅可以提高计算效率,还可以实现资源的共享和协同,为基层卫生健康事业的发展提供了新的思路和机遇。 基层卫生健康云系统是指利用云计算技术&#xf…

【Java|golang】1026. 节点与其祖先之间的最大差值---避坑,注意:golang中同一个包下的全局变量只加载一次。

给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B…

环境变量的初始

目录 : 1.引出环境变量 2. 简单使用一下环境变量 3.环境变量的概念 4.本地变量 5.环境变量的相关命令 6.环境变量获取和操作的方式 7. getenv(最常用的程序获取环境变量的方式) 8.环境变量的全局属性 -------------------------------------…

擎创动态 | 二等奖!擎创携手国家电网喜获“浪潮信息杯”绝佳成绩

近日,2022电力行业信息化年会于湖南省长沙市圆满落下帷幕。据悉,今年是电力行业信息化年会举办的第二十周年,年会的主题为“低碳数字新动力 电力转型新发展”,紧密围绕“十四五”数据经济发展,“双碳”战略、新型电力系…

10分钟学会使用Jmeter工具做接口自动化测试

Jmeter接口自动化测试项目实战视频教程地址:https://www.bilibili.com/video/BV1e44y1X78S/? 目录:导读 引言 一、软件下载 二、软件安装及设置环境变量 三、Jmeter做接口自动化测试的步骤 四、接口依赖的解决 引言 大家好!我是不二。…

《Linux基础》08. 日志管理 · 备份与恢复

Linux基础 - 08 1:日志管理1.1:系统常用日志1.2:日志管理1.2.1:日志服务1.2.2:配置文件1.2.3:自定义日志管理 1.3:日志轮替1.3.1:轮替服务1.3.2:配置文件1.3.3&#xff1…

顺序表(更新版)——“数据结构与算法”

各位CSDN的uu们你们好呀,今天小雅兰又来更新新专栏啦,其实之前我就已经写过了顺序表的内容,只是之前的内容不是最新版的顺序表,现在,我来更新一下最新版的顺序表,下面,就让我们进入更新版的顺序…

开发常用的 Linux 命令1(文件和目录)

开发常用的 Linux 命令汇总1(文件和目录) 作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,…

小项目发布:TLC_Browers--一个开源的基于vb6基于Webview2 Runtime支持html5和多标签的浏览器

项目名称:TLC浏览器(TLC_NLP机器人的附属产品) 技术架构:webview2 runtime,可参考链接WebView2 - Microsoft Edge Developer 目录介绍: kernel:控制webview2内核的代码 client:主程序代码,将kernel变为自己的子窗体, 进程通信方式:共享文件 release:正…

Jenkins 在linux安装配置

下载Jenkins 安装包 官网地址:https://www.jenkins.io/index.html 因为我的是centos,所以我选择redhat的长期支持版本 linux上执行: wget https://get.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm安装 使用rpm安装&#xf…