【后端开发】JavaEE初阶——计算机是如何工作的???

前言:

🌟🌟本期讲解计算机工作原理,希望能帮到屏幕前的你。

🌈上期博客在这里:【MySQL】MySQL中JDBC编程——MySQL驱动包安装——(超详解)

🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客

目录

📚️1.引言

📚️2冯诺依曼体系

📚️3.CPU

3.1CPU的组成

3.2多核CPU

3.3指令

3.4缓存和流水线 

1.缓存

2.流水线

3.5总结

📚️4.操作系统

4.1进程、任务

4.2进程的管理

1.先描述

2.再组织

4.3PCB的核心属性

1.pid进程标识

2.内存指针

3.文件描述附表

4.4进程的调度

1.状态

2.优先级

3.记账信息

4.上下文

4.5内存的分配-内存的管理

4.6进程间通信

4.7缺点

📚️5.总结

📚️1.引言

       Hello!!!家人们,小编又回来啦,上期讲解了关于JDBC编程,那么mysql部分就基本上结束撒花咯🎉🎉🎉接下来,就开启后端开发JavaEE初阶的学习了,本期就开始基础的计算机是如何工作的,开始发车了。加油加油~~~🥳🥳🥳

且听小编讲解,包你学会!!!

📚️2冯诺依曼体系

图片展示:

很明显可以看出:

CPU:是进行数据的算术运算和逻辑运算

存储器:由外存和内存组成,主要是用来进行数据的存储(这数据以二进制的方式进行存储)

输入设备:顾名思义即用户给计算机发送指令的部分

输出设备:顾名思义就是计算机进行数据处理后返回展示给用户的部分

按照内存大小:硬盘>内存>>CPU

运行速度:CPU>>内存>硬盘

📚️3.CPU

3.1CPU的组成

CPU是由:

门电路=>半加器=>全加器=>加法器=>ALU运算器=>构成了CPU 

虽然后端开发不用全部了解每个部分的工作原理,但是计算机的重要部分例如:内存,硬盘,CPU这些重要的部分还是要了解到的;

门电路是由晶体管构成,这是一个非常小的单元,级别为nm级别;CPU能无限小吗???

答案是不能,太小了经典物理学就不管用了,还有制作工艺大大增加,过大也不行:太大了会造成良品率大幅度下降;

 此时就有了多核CPU的概念

3.2多核CPU

即软件将任务分成部分小块,合理的分给多个CPU(即一个活有多个人来干)(并发编程),那么此时的效率就大大提升了,那么还有一种情况,就是一个CPU可以干两个人的活那么就有了(超线程技术

即4个CPU可以干8个人的活;4:为物理核心;8:为逻辑核心;

其实我们的电脑即时运用了超线程技术的:打开任务管理器;

打开性能栏目:可以看到小编这个电脑是内核为6(物理核心),逻辑处理器为12(逻辑核心)这就运用了超线程技术;

当然不是核心越多越好,像有的CPU核心很多,但是单核的频率不高,也是不行的;

频率:描述CPU核心工作的速度

 例如:小编这里的速度:3.01GHz表示的是一秒钟执行30.1亿次;

这里的单位换算:

1KHz=1024Hz    1MHz=1024KHz    1GHz=1024MHz

注意描述一个CPU的性能好坏是看最低执行频率(基础频率)和上限(最大睿频);

3.3指令

指令表:

这里的RAM即是:内存

所谓的寄存器就是由于CPU的存储数据少,而为了支持CPU的计算,而保存中间结果的一个空间 

下面小编就来模拟一下程序的执行过程

3.4缓存和流水线 

       随着啥时间的发展,cpu执行的速度越来越快,而CPU的执行需要从内存中读取数据,那么就会发现内存读取跟不上CPU的执行速度了;

1.缓存

例如:在表演的时候,演员家里表演的地方很远时,隔天表演,那么演员就会在附近的宾馆住宿,那么就不会回自己的家,而CPU执行也是一样的;

那么需要用的数据存储在一个空间(集成在CPU上),虽然空间不大,但是里CPU近。就解决了从内存中读取数据太慢的问题;

2.流水线

例如:一次表演,当A上台进行表演时,就要把接下来表演的B接到舞台附近,依次进行;

同理:当CPU在执行的时候,就将内存中的数据读出来,准备下一个数据的执行;

3.5总结

1.CPU执行的指令都存储在内存中

2.要想执行指令,就要从内存中取出指令,解析只能,最后执行指令

3.取指令需要从内存中读取指令到CPU寄存器中,由于取指令这一步很消耗时间,引入了流水线和缓存机制

4.CPU解析指令时要用到指令表,不同CPU架构的指令表是不同的

5.指令在执行过程中带有的操作数,不同的操作数的作用是不同的

6.CPU主要的参数是主频,代表这CPU一秒中执行的次数

📚️4.操作系统

目前的操作系统:Windows,Linux,iOS,Android,Mac;

操作系统是一个软件~~~(由程序编写而成)

作用:

1.管理各种硬件设备

2.为软件提供稳定的运行环境

而JVM又是对其系统进行封装,所以我们JAVA程序员,就只用掌握JVM提供的API就可以实现各个操作系统的操作;

为啥我们要有操作系统???

       就拿各种硬件设备来看,不同的鼠标有不同的功能,键盘也是一样的,那么程序员需要针对不同的硬件设定不同的代码吗,这样就太麻烦,所以就引入了操作系统,这样就可以管理各种硬件设备,给软件提供统一的API;

图例如下:

 此所谓上至软件应用程序,下至各种硬件设备

4.1进程、任务

所谓的进程就是操作系统提供一种软件资源,我们运用的系统就是“多任务操作系统”;

这里的每个电脑打开的后台,和最小化就是多个任务,一个任务可以理解为一个进程;

注意:任务在执行的过程会消耗一定的硬件资源,换而言之就是进程执行时都要分配一定的系统资源;进程是系统资源分配的基本单位;

可以猜测这个截图时运用微信进行裁剪的~~~嘿嘿

4.2进程的管理

1.先描述

一般是通过类/结构体这样的方式,将实例所属性描述出来,由于操作系统是c++写的,所以可以使用结构体来表示进程的结构体,叫做PCB(进程控制块)

2.再组织

在使用数据结构将这些类或者结构体串起来;

当我们看到任务管理器里的进程信息的啥时候,就意味着系统内部在进行链表的遍历,并进行每个节点的打印;

若果进行一个新的程序,那么就会创建一个新的进程,那么就要构造一个新的PCB,然后插入到链表上;

若果结束一个程序的运行,那么进程的PCB就要从链表中进行删除,对应的PCB就要进行销毁;

4.3PCB的核心属性

1.pid进程标识

系统会通过简单的不重复整数来进行区分,保证同一时刻,每个进程的pid是不同的;

2.内存指针

所谓的内存指针就是用来描述进程使用,内存的分配问题的;

例如:学校的寝室楼,每个同学都有自己的寝室,内存指针就像是每个学生所对应寝室号,指定这个学生的寝室是哪一个,而不是每个寝室学生都可以使用;

所以:内存指针就是表示进程能够使用哪些内存~~~,而指令和数据都是存在内存中的,进程的也需要知道能够使用哪些数据和指令;

3.文件描述附表

所谓描述了进程所使用的相关硬盘资源,操作系统会对这些硬盘资源封装=>文件;

进程想使用一个文件那么就要先打开文件,所以进程就会在文件描述附表中构建一个结构数据来表示文件的相关信息

4.4进程的调度

1.状态

描述某个进程能否进入CPU进行执行;

就绪状态:随时准备好进入CPU进行执行;

阻塞状态:指某个进程不方便进入CPU,不能进行调度(例如,等待IO,用户的输入与输出)

例如:

Scanner函数执行,就需要用户进行输如数据,否则程序就不会执行;

2.优先级

即指多个进程等待系统的调度,每个进程的被调度的先后顺序是不一样的;

例如:在游戏和QQ同时运行时,很明显游戏的进程优先级肯定大于QQ的优先级;

3.记账信息

即描述每个进程运行占CPU的时间的统计,会根据这个统计来进行调整进程占有CPU的时间;

4.上下文

PCB一种数据结构

1.存档

当要将进程调度出CPU时,那么就要将寄存器中的信息,单独存储在一个空间里(内存中)

2.读档

当该进程再次进入CPU时,就要将寄存器中的信息回复过来,即将内存中寄存器存储的数据加载到CPU中;

4.5内存的分配-内存的管理

对于内存的管理是一个非常复杂的问题,小编这里就不再讲解了(小编没有过多了解~~)

核心思想:每个进程的内存是互不干扰的,通常情况下进程A是不能访问进程B的;

作用:主要是为了当一个进程代码出现Bug的时候,保证其他的进程是不会受到干扰的;这也叫做进程的独立性;

4.6进程间通信

对于一些特殊的情况,需要多个进程相互配合,来合作完成某些工作

进程间通信是与进程独立性是不冲突的,系统会提供公共空间,来供多个进程进行数据之间的交换

4.7缺点

多任务操作系统,即多进程操作系统,希望系统同时进行多个程序的运行;

但是如果在频繁的创建和销毁进程的时候,多进程编程系统的开销就会很大(主要是在资源的申请和释放上);此时就要引入多线程编程了,小编下期开始讲解;

📚️5.总结

💬💬小编本期讲解了关于计算机的构成,主要讲解了关于CPU的相关知识,以及操作系统中最主要的进程控制块和进程的相关知识如状态,通信等问题。

🌅🌅🌅~~~~最后希望与诸君共勉,共同进步!!!


💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。

                                                                 😊😊  期待你的关注~~~

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

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

相关文章

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…

fastadmin后台自定义按钮,并且刷新页面

效果图&#xff1a; index.html部分 <a href"javascript:;" class"btn btn-primary btn-refresh" title"{:__(Refresh)}" ><i class"fa fa-refresh"></i> </a>//自定义按钮<a href"javascript:;&qu…

无人机之4G模块的主要功能和优势

一、增强图传 在无人机飞行过程中&#xff0c;传统的图传方式可能会受到信号遮挡或干扰的影响&#xff0c;导致图像传输不稳定甚至中断。而4G模块通过结合4G网络技术&#xff0c;能够在原有图传技术的基础上提供增强的图传功能。当传统图传信号不佳时&#xff0c;无人机可以自动…

零基础入门:小白也能轻松掌握的AI大模型学习指南(含全套资源)

什么是AI大模型&#xff1f; AI大模型&#xff0c;即大规模预训练模型&#xff0c;是指拥有数亿乃至数百亿参数的深度学习模型&#xff0c;如BERT、GPT-3等。这些模型通过在互联网规模的数据集上进行自我学习&#xff0c;能捕捉到语言、图像、声音等多模态数据的复杂特征&…

红日药业携手实在智能,构建RPA数字员工平台满足业务一体化需求 | 实在RPA案例

近日&#xff0c;天津红日药业股份有限公司&#xff08;简称“红日药业”&#xff09;与实在智能达成合作&#xff0c;依托实在智能业内领先的AIRPA技术&#xff0c;红日药业着手构建企业数字员工平台&#xff0c;满足业务一体化需求&#xff0c;培育新质生产力&#xff0c;为企…

DrawingSpinUp:单个平面2D角色绘图的3D动画转换

【AI论文与新生技术】DrawingSpinUp&#xff1a;单个平面2D角色绘图的3D动画转换 DrawingSpinUp能够将简单的人物画变成三维动画。这个系统特别适合处理业余爱好者绘制的人物画&#xff0c;因为这些画作通常比较简化&#xff0c;而且风格多样。DrawingSpinUp通过一系列步骤&…

零基础玩转实在Agent -- 基础篇|实在Agent研究

前言 实在Agent是什么 实在Agent&#xff08;智能体&#xff09;是实在智能基于RPA和自研屏幕语义理解技术&#xff0c;结合最前沿的Al大模型打造的自动化智能体产品。 它能像朋友一样聊天&#xff0c;并通过对话的方式理解你的任务需求&#xff0c;自动规划任务的实现方式&…

文件上传js代码

大家好&#xff0c;很久没更新了&#xff0c;今天空了&#xff0c;记录一下文件上传js代码。(自己搭建的网站&#xff0c;演示学习一下这种漏洞&#xff0c;不要做违法的事情&#xff01;&#xff01;&#xff01;) 一般文件上传的话都是奔着getshell去的&#xff0c;但是一般…

【leetcode】字典 哈希表习题

1.两数之和&#xff08;查找表法-哈希表&#xff09; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次…

新160个crackme - 060-snake

运行分析 需破解Name和Serial PE分析 32位&#xff0c;未知程序和壳 点击Scan/t按钮外部扫描&#xff0c;发现是C程序 静态分析&动态调试 ida搜索关键字符串&#xff0c;双击进入 发现无法反编译 选中该函数&#xff08;地址&#xff1a;401048 - 401172&#xff09;Edit -…

无人机之AI跟踪篇

无人机的AI识别技术依托于计算机视觉和深度学习技术&#xff0c;实现了对目标的快速精准识别&#xff0c;在多个领域展现出了巨大的应用潜力和价值。以下是对无人机AI识别技术的详细解析&#xff1a; 一、无人机AI识别算法的基础原理 无人机AI识别算法主要基于先进的计算机视觉…

celery

文章目录 celery1. celery的基本使用![请添加图片描述](https://i-blog.csdnimg.cn/direct/aa33d094580c4434a55644cd74e2a6c0.png)2. celery的进阶使用3. django-celery实现异步HTTP请求 celery Celery 是一个开源的分布式任务队列系统&#xff0c;它允许开发者将耗时的任务异…

Redhat 6,7,8系(复刻系列) 一键部署Oracle12c zip

Oracle12c前言 Oracle 12c是甲骨文公司推出的一款关系数据库管理系统,它引入了多项创新特性,如多租户架构、大数据处理和云部署,适用于企业级应用。以下是Oracle 12c的详细介绍: Oracle 12c的主要特点 高性能:通过多线程处理、自动优化等技术,提高了数据库的查询和处理…

基于STM32红外感应的自动迎客人语音控制系统设计

文章目录 前言资料获取设计介绍功能介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…

相图数据对于纳米材料研究的积极作用

纳米材料因其独特的物理、化学和生物学特性&#xff0c;在环境保护&#xff0c;能源领域&#xff0c;生物医学&#xff0c;航空航天等多个领域展现出广泛的应用潜力。在纳米材料合成过程中&#xff0c;通过相图可以识别出在特定温度和压力下材料的稳定相和不稳定相&#xff0c;…

git第一次首次提交本地代码到远程仓库详细步骤(初始化提交)

参考文章 &#xff1a;https://blog.csdn.net/qq_22182989/article/details/139098265 假如报错关联git仓库出现的问题。 error: remote origin already exists.解决方案&#xff1a; 1、先输入git remote rm origin 删除关联的origin的远程库 2、关联自己的仓库 git remote a…

文心一言 VS 讯飞星火 VS chatgpt (351)-- 算法导论24.1 2题

二、证明推论24.3。推论 24.3 的内容是设 G ( V , E ) G(V,E) G(V,E)是一带权重的源结点为 s s s的有向图&#xff0c;其权重函数为 ω : E → R ω:\boldsymbol{E→R} ω:E→R。假定图 G G G不包含从源结点 s s s可以到达的权重为负值的环路&#xff0c;则对于所有结点 v ∈ …

mat (Eclipse Memory Analyzer Tool)使用以及详解

前言 在Java开发中&#xff0c;内存问题往往不易被发现&#xff0c;但它们可能导致应用性能下降甚至崩溃。Eclipse Memory Analyzer Tool&#xff08;MAT&#xff09;是一个强大的开源工具&#xff0c;专门用于分析Java堆转储&#xff08;heap dumps&#xff09;文件&#xff…

js 将二进制文件流,下载为excel文件

吃西瓜 现成的粒子 二进制流&#xff0c;是一种计算机文件格式&#xff0c;它的数据以二进制形式存储&#xff0c;与文本文件不同&#xff0c; 二进制文件可以包含任意类型的数据&#xff0c;例如&#xff1a;图像、音频、视频、可执行文件、压缩文件等&#xff0c;而文本文…

Acwing Hash表

哈希表的作用&#xff1a;把一个比较大的空间&#xff0c;通过一个函数映射到一个比较小的空间 一般做哈希运算时&#xff0c;取一个质数作为模&#xff0c;会使得冲突的概率降低。 哈希表的冲突解决方法&#xff1a; 拉链法开放寻址法 下面详细介绍这两种方法的原理及其实现…