一、什么是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.操作系统
操作系统可以对CPU的管理和应用
4.1进程
进程就是操作系统对正在运行的程序的一种抽象表示,也就是说,进程可以看作程序的一次运行过程
4.2进程控制块(PCB)
1.pid(进程id)进程的身份标识
2.内存指针(进程运行时,需要对内存的开销,占用资源)
3.文件描述表(需要硬盘也就是外存,进程读写文件需要open指定文件)
4.进程状态:就绪状态(随叫随到);阻塞状态(不运行)
5.进程优先级:哪一个优先级高一点,哪一个进程吃CPU多一点(也就是消耗内存资源多一些)
就好比如,打大型游戏,和运行其他小软件,无疑是大游戏吃内存更多
6.进程的上下文
进程调度,执行一会失去CPU,过一段时间后,继续执行,必须从上一次断开的位置开始,不能从头来。把中间值保存到寄存器中
也就是游戏中的存档!
7.进程的记账信息
就是在一段时间内统计哪个进程对CPU的消耗多少,要是有个进程长时间没有消耗太多进程,则就会给这个进程倾斜一点资源!
谢谢大家的支持!有任何表述错误的地方,请大家指出来,博主积极改正并认真修改学习!