【JavaEE】——初识EE(Java诞生背景,CPU详解)

举报
三三是该溜子 发表于 2025/05/05 10:35:09 2025/05/05
【摘要】 ​阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你!目录零:Java的发展背景介绍一:EE的概念二:计算机的构成零:Java的发展背景介绍1:9几年,java之父詹姆斯想做一个面包机,当时流行的编程语言是c++,因为门槛比较高,团队里的新人上手慢,詹姆斯就简化了c++的代码,做出了java语言,后来面包机没搞成,java这一套编程语言却流传下来了2:后来...


阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你!

目录

零:Java的发展背景介绍

一:EE的概念

二:计算机的构成

零:Java的发展背景介绍
1:9几年,java之父詹姆斯想做一个面包机,当时流行的编程语言是c++,因为门槛比较高,团队里的新人上手慢,詹姆斯就简化了c++的代码,做出了java语言,后来面包机没搞成,java这一套编程语言却流传下来了

2:后来互联网兴起,人们从网页获取信息,网站开发成了热门,java就衍生出了一种技术applet,这是一种让java代码在浏览器上运行的技术,能够控制网页和用户之间的交互

3:同期微软的windows也崛起,当时主流浏览器是网景Netspace,windows的崛起让IE浏览器取代了网景,微软想让VBScript在IE上取代Java的前端开发位置,但是却成全了JAVAScript(跟java没啥关系,只是名字),JavaScript也一直为前端霸主之一流传到现在(现在微软下的TS市场份额超过了JavaScript),但是Java只好另寻出路

一:EE的概念
JavaEE就是java开发网站后端用到的一系列的技术栈

前端:通俗简单的讲就是我们现在在浏览器上看到的网页界面

后端:简单理解就是服务器,数据库等

学习的六个方面

1:操作系统基础

2:多线程

3:文件操作

4:网络编程

5:网络原理

6:jvm

二:计算机的构成

1:CUP
引入:CPU人类科技巅峰之作

(1)CPU的计算单元
cpu的计算单元非常的小,是通过光刻机在硅晶片上雕刻电路,想要提高cpu的算力,就得提高cpu计算单元的集成程度,就需要更高精度的光刻机,目前我国这一领域还是处于被卡脖子的一个阶段,且看诸君了!!

(2)架构和指令集

(3)CPU的核心

①多核cpu和并发编程:

②超线程技术:

③大小核技术:

(4)CPU的频率
引入:由上提问,那是不是cpu的核心越多,算力就越强呢?不一定,cpu的算力还跟cpu的频率有关,频率是描述每秒钟cpu核心工作处理的次数,一般是按亿为单位的

①超睿频技术
cpu核心的频率是随当前任务的多少而动态变化的,即频率大小是有一个区间的,基础频率(下限)——最大睿频(上限)

注:除此之外还有很多指标可以衡量cpu的性能

(5)CPU的指令
①寄存器的概念:
寄存器是CPU上的存储数据的单元,因为cpu自身能存储的数据不多,所以cpu计算的很多中间结果就可以先放到寄存器当中(随放随取),等要用的时候再拿出来,寄存器的读写速度非常快,比内存能高出3~5个数量级

解释:RAM内存,opcode操作码

②模拟cpu执行指令的过程

③:总结CPU是如何计算的
例如:上述步骤三  3 + 14 = 17;

第一步:CPU从内存读取指令,并存放至寄存器当中(读取指令非常耗时,比CPU执行计算开销大很多,因此CPU引入了缓存,流水线等技术来进行优化,下面会详细讲到)

第二步:CPU解析指令,需要用到指令表,不同的cpu架构有不同的指令表,指令表是写死到cpu中的,cpu很容易识别出来

第三步:CPU执行指令,执行过程中,指令可能会带有一些操作数,不同的操作数的额含义有所不同,

(6)CPU的缓存和流水线
①背景引入:冯诺依曼体系
在当年,冯大佬提出的冯诺依曼体系的精髓就在于:将“执行”和“存储”分开,即“解耦合”,这在计算机设计之初,大大降低了硬件的成本,当时cpu执行“指令”的速度,和从存储器(分为内存和外存)中读取指令的速度差不多。

但是随着时代的发展,硬件越来越NB,cpu执行的速度大大超过了从存储器中读取指令的速度,所以,就提出了一种“缓存”的机制来解决这个问题

②缓存 
打个比方:(当年硬件还没发展起来的时候)有一个舞台,现在有5个演员依次要从很远的地方来舞台演出(每个演员可能需要演多场戏),一个演员演出结束后,后一个演员出发去演出(此时舞台是空闲的,因为路上耽误很多时间,这就是从存储器中读取指令成本过高的原因),走了很久终于到舞台了,以此类推

第一个演员第一场演出完了之后,可不可以让他先住在宾馆不回去,因为后面他还要继续演出。从而出现了一个东西就叫作缓存

缓存:就是将执行完毕的指令,先暂时放到缓存区中,一会还要用到的时候直接再取出来即可,速度快多了(即提升了cpu从存储器中读取指令的速度)xian

③流水线:
前面说到,一个演员演出结束后,后一个演员才出发去演出,此时舞台是空闲的,就浪费了很多资源,那么我们能不能让A演员在演出的时候下一个B演员就提前出发呢?(即A演员演出结束后,B演员刚好到舞台,无缝衔接演出)这就是流水线!!!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。