dubbo+zookeeper面试题,MySQL的 初步认识 - 细节狂魔,值得一读


CPU

CPU 又称 中央处理器,计算机最核心的组件! 是计算机的大脑。

是目前人类科学技术的巅峰!能CPU的技术含量相提并论的,只有氢弹。


存储器

CPU 是用来运算数据,但是计算机除了运算,还能存储数据。

存储数据 就是借助 存储器这样的设备。

而存储器又分两个大类: 内存和外存。

在这里插入图片描述在这里插入图片描述

外存的种类还有很多!比如:软盘,磁盘,光盘,硬盘,flash(U盘)。其中我们生活中见到的最多的是 硬盘 和 U 盘。


内存 和 外存的区别

1、内存的存储空间较小(电脑常见内存大小:8G,16G),外存的存储空间很大(512G,1T)

2、内存的访问速度块,外存的访问速度慢。(内存的访问速度大概比外存的访问速度,快 3 ~ 4个数量级,也就是几千倍 ~上万倍)

【这里的外存,特指的是机械硬盘,外存的访问速度受限于机械硬盘的物理结构,机械硬盘的存储速度,已经快10年没有发展了。懂电脑的朋友,知道还有一个SSD固态硬盘。访问速度很快,比机械硬盘快很多,最好的固态硬盘,快赶上最垃圾的内存了,唯一的缺点就是贵】

3、内存成本太高,外存的成本太低。

4、内存中数据,断电后消失,外存中的数据,断电后还在。


输出 和 输入设备

这两个设备 就是 我们用户 和 计算机之间进行一个交互的设备。

输入设备:键盘、鼠标、麦克风等等…

输出设备:显示器,音箱等等…


总结

当前世界上绝大部分的计算机,99%以上 都是上述的这五个部分所组成的。

而数据库管理的数据,就是保存在硬盘上。数据库就是一种“持久化存储”数据的方式

相比我们平常写代码,数据基本都是在内存中的实现和保存的。(当我们定义一个变量,其实就是在向操作系统进行申请内存)


小拓展

也有少部分数据库,是把数据存储在内存中的。比如 Redus,Tair等等…

但这些都不是目前主流的数据库。

我们平常用的最多还是 将数据存储在外存的数据库。


什么是 MySQL?

=========================================================================

MySQL 就是 一个 具体的数据库软件之一,也是我这个数据库主题文章的中心点。

有的朋友可能学的或者用的不是MySQL,而是 SQLServer。它也是一个数据库软件。

以后在实际工作中,数据库用的最多的还是 MySQL。

不是说SQLServer 不好,而是它被自家公司微软的营销策略给坑了,最初的时候,要求必须是 windows 系统才能使用。

但是,大部分公司的服务器系统都是Linux系统。根本不支持SQLServer,于是,市场被其他的软件所抢占。导致它错过了发展起来的机会。虽然后面改回来了,但是并没有多大作用

另外,其实各个数据库之间,差别大师很大,微乎及微。会MySQL,那么操作其他的数据库,也不是问题。

至于还有的朋友可能说:我们学的是 Oracle。

Oracle 是数据库中,最顶尖的存在!

但其实在很多公司里,Oracle 几乎不会用到。原因就是贵!但是 MySQL 是免费的

有的人朋友可能会问:how much?一个月大概

除了不缺钱的那种,比如中国人民银行:它的数据特别重要,就需要用到 Oracle来管理数据。

而且,一旦数据出现了问题,随时可以找 Oracle的技术支持上门服务。还有 ! 如果是 Oracle 软件 的 问题,人家会做出相应的赔偿。

总得来说 我们的重点在于MySQl。【数据库三大巨头:Oracle、MySQL、SQLServer】


细谈MySQL

======================================================================

MySQL 这个数据库,是一个“客户端 - 服务器”结构的程序。(涉及到网络编程)

所谓的“客户端 - 服务器”结构:网络通信的时候,通信双方,分别起的名字。

我们通常将主动发起请求的一方称为“ 客户端”,被动接受请求的一方称为 “服务器”。

对于 MySQL ,你安装好了 MySQL,相当于 安装了 客户端 和 服务器。

客户端 和 服务器之间是通过“网络”来通信的。

在这里插入图片描述

举个例子

假设:我们现在要下馆子,我们(主动的)选择某一个餐馆(被动的)。此时的我们就是一个客户端(拥有主动权),而餐馆不知道到我们是否会选择它,什么时候来。一直处于被动的情况,简单来说被动的一方就是服务器。

当我们走进餐馆的时候,说先吃什么什么。我们一般都会加上一个句老板有这个菜吗?这就是一个请求,而老板呢,他就会说有,请稍等,然后他把菜端上来了,这盘菜就是 响应。

所以,客户端给服务器发送的数据,称为 “请求”。

服务器给客户端返回的数据,称为“响应”。

在这里插入图片描述

另外,需要注意的是:不是说 客户端 和 服务器 必须 安装一个 主机上。

我可是 2个主机,一个装 客户端,一个装服务器。

在这里插入图片描述

但是,最常见的情况:拿前面举的例子来说:这个餐馆不可能只招呼我一个人,其他人也会来着消费。

那么,我想表达的意思就是:一个服务器 与 多个 客户端 进行交互。

在这里插入图片描述

那么引出一个问题:MySQL 的 客户端 和 服务器 谁更重要呢?

很显然 服务器 更重要。服务器就是我们的数据库的本体(服务器在MySQL 当中的角色就是用来保存和管理数据的一端,而客户端是不持有数据的,它要想 获取/修改 数据,只能通过网络与服务器进行交互,依次来达到 获取/修改 数据的目的),一个客户端出了问题,只有服务器没问题,那么,其它的客户端的运行也就没有问题。只需要处理 出现问题的 客户端就行了。

可一旦 是 服务器出了问题,所有的客户端都要遭殃!!!


数据库的简单操作

=======================================================================

知识铺垫


在进行简单操作之前,装了MySQL数据库的朋友,跟着我的来看 MySQL 的 服务器在哪。 (没装的朋友去官网下载,博主我的是5.7版本的,建议你们下载 5 这个大版本,最新 8 版本对新手不太友好。至于安装视频上b站 搜 很简单的)

在这里插入图片描述

为什么我要先说这个,是因为,接下来的操作,需要服务器处于工作状态。

说了这个,至少能确保你们的MySQL 是 正常工作的。

下面我们来看客户端的在哪里。

在这里插入图片描述

有的朋友会说:我可以修改 mysql的服务器 配置文件,跳过权限表登录。但是,这么做很麻烦。

你还不重装一下,设置一个简单到不行的密码来得舒服。反正我们的数据不值钱。。【穷 == 安全,除了我们的腰子】

此时,进行前面的一番操作,我们此时应该都会打开MySQL 了

在这里插入图片描述

此时,我们的客户端已经连上了服务器,接下来,我们进行的任何操作,本质上都是客户端给服务器发送了网络请求,服务器在做出具体的响应。


下面我们就来进行一个简单的操作


连接上之后,我们就可以通过这个数据库的客户端操作服务器了。

当前我们都是通过命令行的方式进行操作的。又称 SQL 语句。

SQL 语句 虽然是一个单独的编程语言,实际上这个东西并不难,只要多操作一下,熟练就好了。


简单操作 :通过 SQL 来操作 “数据库”

大家需要注意一点:数据库这个词,具有很多的含义。具体想知道操作的是什么"数据库",需要结合上下文。

我们这里的数据库 指的是 一个 MySQL服务器上,所管理的一个独立的数据集合。

在这里插入图片描述

了解这个概念后,我们就可以开始操作了。


第一个简单操作 :显示出当前服务器 上 都有哪些数据库(哪些数据集合)

显示数据集合命令: show databases;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后总结

ActiveMQ+Kafka+RabbitMQ学习笔记PDF

image.png

  • RabbitMQ实战指南

image.png

  • 手写RocketMQ笔记

image.png

  • 手写“Kafka笔记”

image

关于分布式,限流+缓存+缓存,这三大技术(包含:ZooKeeper+Nginx+MongoDB+memcached+Redis+ActiveMQ+Kafka+RabbitMQ)等等。这些相关的面试也好,还有手写以及学习的笔记PDF,都是啃透分布式技术必不可少的宝藏。以上的每一个专题每一个小分类都有相关的介绍,并且小编也已经将其整理成PDF啦

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

理成PDF啦

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值