JavaEE初阶——计算机工作原理

一、什么是JavaEE 

JavaEE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本。这个版本以前称为 J2EE。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器端 Java应用程序。Java EE 是在 Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 3.0应用程序。

二、计算机是如何工作的

1.冯诺依曼体系(Von Neumann Architecture)

现代的计算机中,大多遵循冯诺依曼体系结构

结构包含:①CPU中央处理器(进行算术运算和逻辑判断);②存储器(分为外存和内存,用于存储数据,使用二进制存储);③输入设备(用户给计算机发号施令的设备);④输出设备(计算机给用户汇报结果的设备)

2.CPU基本工作流程

2.1 逻辑门电路

可以实现1位(bit)的基本逻辑运算,下面举几个常见的例子

(1)非门

(2)与门

(3)或门

(4)异或门

2.2算术逻辑单元ALU

ALU是计算机进行算数,逻辑运算的核心部件,是计算机的数学大脑

2.3寄存器和内存

寄存器:寄存器就是附着在CPU中的高速存储单元,是CPU的得力干将。它的特点是速度极快,容量较小(通常只有几十个到几百个字节的容量,只能存储少量的关键数据和控制信息)。它可以在CPU执行算术运算和逻辑运算时,用来暂时存储参与运算的操作数和运算结果的!

内存:内存是计算机主要存储数据的设备之一,用于暂时存储 CPU 需要处理的数据和处理后的结果,速度没有寄存器快,但是比外部存储快很多,容量较大(一般有4GB—16GB甚至更高),它可以进行数据的存储,多任务处理。(要区分的是这里是内存,不是人们常说的手机多大内存的内存,这是一个容易误导广大消费者的错误说法,之后为了区分发明了“运行内存”这样一说,其实也是不对的,可以说为“内存和外存”)。

2.4控制单元CU

通俗来讲,CU就是指挥官,ALU就是CU的士兵,让干什么就得干什么。也就是说CU可以驱动ALU进行具体的计算工作!

2.5CU如何驱动ALU进行工作的?

这里我们就提到指令

那什么是指令呢?

所谓指令就是指导CPU进行工作的指令,主要有操作码+被操作数组成!

操作码就是要做的事情,被操作数是要做操作的数据

指令本身是一种数据,二进制保存在内存的某个区域

下面是一张简化后的指令表,真正的指令表比这个复杂很多

说明:RAM是内存;规定LOAD_A是00;LOAD_B是01

opcode(操作码)=>>op(operation操作)code(码)

约定:一条指令=4位操作码(opcode)+4位操作数

这里我们演示一段指令是如何执行的呢?

以上过程就是CPU执行一段指令的简要过程!

3.编程语言

3.1程序

程序就是一组指令需要处理一些数据

程序=指令+指令要处理的数据

3.2编程

注意:高级语言的一条语句往往对应很多条指令才可以完成

4.操作系统

操作系统是⼀组做计算机资源管理的软件的统称。⽬前常⻅的操作系统有:Windows系列、Unix系
列、Linux系列、OSX系列、Android系列、iOS系列、鸿蒙等。

操作系统可以对CPU的管理和应用

4.1进程

进程就是操作系统对正在运行的程序的一种抽象表示,也就是说,进程可以看作程序的一次运行过程

4.2进程控制块(PCB)

1.pid(进程id)进程的身份标识

2.内存指针(进程运行时,需要对内存的开销,占用资源)

3.文件描述表(需要硬盘也就是外存,进程读写文件需要open指定文件)

4.进程状态:就绪状态(随叫随到);阻塞状态(不运行)

5.进程优先级:哪一个优先级高一点,哪一个进程吃CPU多一点(也就是消耗内存资源多一些)

就好比如,打大型游戏,和运行其他小软件,无疑是大游戏吃内存更多

6.进程的上下文

进程调度,执行一会失去CPU,过一段时间后,继续执行,必须从上一次断开的位置开始,不能从头来。把中间值保存到寄存器中

也就是游戏中的存档!

7.进程的记账信息

就是在一段时间内统计哪个进程对CPU的消耗多少,要是有个进程长时间没有消耗太多进程,则就会给这个进程倾斜一点资源!

谢谢大家的支持!有任何表述错误的地方,请大家指出来,博主积极改正并认真修改学习!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】2、网关

Spring Cloud微服务网关技术介绍 单体项目拆分微服务后的问题 服务地址问题:单体项目端口固定(如黑马商城为8080),拆分微服务后端口各异(如购物车808、商品8081、支付8086等)且可能变化,前端难…

【JAVA】Java开发小游戏 - 简单的2D平台跳跃游戏 基本的2D平台跳跃游戏框架,适合初学者学习和理解Java游戏开发的基础概念

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

【学Rust开发CAD】1 环境搭建

文章目录 一、搭建C/C编译环境二、安装Rust三、配置 PATH 环境变量四、验证安装结果五、安装编辑工具 一、搭建C/C编译环境 Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往…

【HTML】Day02

【HTML】Day02 1. 列表标签1.1 无序列表1.2 有序列表1.3 定义列表 2. 表格标签2.1 合并单元格 3. 表单标签3.1 input标签基本使用3.2 上传多个文件 4. 下拉菜单、文本域5. label标签6. 按钮button7. div与span、字符实体字符实体 1. 列表标签 作用:布局内容排列整齐…

中国科技统计年鉴EXCEL版(2021-2023年)-社科数据

中国科技统计年鉴EXCEL版(2021-2023年)-社科数据https://download.csdn.net/download/paofuluolijiang/90028724 https://download.csdn.net/download/paofuluolijiang/90028724 中国科技统计年鉴提供了从2021至2023年的详尽数据,覆盖了科技…

[Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)

前言 本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例,debian系主机可参照步骤,将对应的rpm -ivh命令换成dpkg -i。 1. 官网下载安装包 https://dev.mysql.com/downloads/mysql/ 1.1 版本分类 MySQL Enterprise…

Apache Paimon-实时数据湖

一、Apache Paimon是什么? Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。 …

【计算机视觉】单目深度估计模型-Depth Anything-V2

概述 本篇将简单介绍Depth Anything V2单目深度估计模型,该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比,V2版本通过采用合成图像训练、增加教师模型容量,并利用大规模伪标签现实数据进行学…

jenkins入门12-- 权限管理

Jenkins的权限管理 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,我们使用Role-based Authorization Strategy 插件 只有项目读权限 只有某个项目执行权限

【Microi吾码】开源力量赋能低代码创新,重塑软件开发生态格局

我的个人主页 文章专栏:Microi吾码 一、引言 在当今数字化浪潮汹涌澎湃的时代,软件开发的需求呈现出爆发式增长。企业为了在激烈的市场竞争中脱颖而出,不断寻求创新的解决方案以加速数字化转型。传统的软件开发方式往往面临着开发周期长、技…

HTB:Bank[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 提取出靶机TCP开放端口 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用curl对域名进行访问…

操作手册:集成钉钉审批实例消息监听配置

此文档将记录在慧集通平台怎么实现钉钉审批实例结束或发起或取消时,能够实时的将对应的实例数据抓取出来送入第三方系统 集成平台配置 1、配置中心库,存储钉钉发送的消息,可以忽略,若不配置,则钉钉的消息将不再记录到…

【C++】B2118 验证子串

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目概述题目描述输入格式输出格式输入输出样例样例 1样例 2 题目提示 💯解决方案分析初步分析与思路 💯我的代码实现与分析代码回顾实现逻辑与优缺…

68.基于SpringBoot + Vue实现的前后端分离-心灵治愈交流平台系统(项目 + 论文PPT)

项目介绍 本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述心灵治愈交流平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进…

【分布式缓存】一致性Hash原理剖析,一致性Hash与Hash的区别(详解)

文章目录 Hash算法Hash算法的缺陷一致性Hash算法一致性Hash存储规则一致性Hash解决Hash的缺陷问题一致性Hash的偏斜问题一致性哈希在实际中的应用总结 更多相关内容可查看 假设有一个场景:有三万张图片,有三台服务器S0,S1,S2 要求…

Clisoft SOS与CAD系统集成

Clisoft SOS与CAD系统集成 以下内容大部分来自官方文档,目前只用到与Cadence Virtuoso集成,其他还未用到,如有问题或相关建议,可以留言。 与Keysight ADS集成 更新SOS客户端配置文件sos.cfg,以包含支持ADS的模板&am…

Java-数据结构-链表-高频面试题(1)

在上一篇文章中,我们学习了链表中的"单向链表",但学可不代表就是学会了,能够运用链表的地方比比皆是,解题方法也是层出不穷,今天就让我们巩固一下"单向链表"的知识吧~ 第一题:相交链表…

JVM实战—OOM的定位和解决

1.如何对系统的OOM异常进行监控和报警 (1)最佳的解决方案 最佳的OOM监控方案就是:建立一套监控平台,比如搭建Zabbix、Open-Falcon之类的监控平台。如果有监控平台,就可以接入系统异常的监控和报警,可以设置当系统出现OOM异常&…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统,主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板,以及上传照片的数量。照片上传完成后,生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B:Business to Business,交易双方的身份都是商家,也就是商家将商品卖给商家,类似采购、批发类购物,国内代表性网站阿里巴巴批发网 C2C:Customer to Customer,…