首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
JavaEE基础,计算机是如何工作的
📅 2026/10/17 5:53:55
✍️ 爱科研究院
👁 阅读 3,247
前言❤️❤️hello hello这里是洋不写bug~欢迎大家点赞关注收藏前端和后端是数字产品的 “前台” 和 “后台”分工明确但协同工作。前端像餐厅的服务员和用餐区直接对接顾客提供体验后端像厨房和仓库负责准备食物、存储食材具体的处理逻辑用户看不见后端开发工程师主要就是通过Java语言来对服务器进行开发也可以选择PhythonCGoPHP等语言只是Java是比较主流的在JavaEE初阶就是打基础做网站这篇博客会从计算机组成cpu指令的执行操作系统等部分的基础知识开始来入门JavaEE个人主页洋不写bug的博客所属专栏JavaEE学习铁汁们对于JavaEE的各种常用核心语法都可以在上面的JavaEE专栏学习专栏正在持续更新中有问题可以写在评论区或者私信我哦~1计算机组成这部分知识就类似于学校的“计算机导论”的课程这里会更多列出工作中实用的部分下面就是台式机的主要组成部分主板是一个大插座上面有很多的插孔用于安装计算机的各种配件CPU中央处理器Central Processing Unit简称CPU它是计算机最核心的一个部件CPU很小但是作用很大整个计算机的算术运算/逻辑判断全靠CPU内存内存是储存在内存条中的主板上有内存条对应插入的位置装机时就要插入买电脑时说的16G 1TB这个16G就是内存1TB就是硬盘存储外存内存存储速度快是硬盘存储的一百多倍价格也贵相对来说数据存储量也很小而且内存中的数据计算机断电后就会丢失硬盘硬盘比较大不直接放在主板而是放在机箱里通过线缆跟主板相连接硬盘价格便宜存储速度相对慢断电后数据也不会丢失但凡是重启电脑后还存在的数据基本上都是储存在硬盘上的例如数据库中的数据表就是储存在硬盘上的GPU图形处理器Graphics Processing Unit简称GPU也称为显卡就是用来处理图形进行显示CPU中央处理器也可以当作显卡来使用更准确的说法是即在 CPU 芯片内部整合独立的 GPU 模块在大部分轻薄本中就是把GPU和CPU挤在了一块也称为核显这样完全可以满足日常办公和一些不太吃配置的游戏例如LOL也比较省电另外轻薄本的价格也低但是就是玩不了大型3A游戏而像游戏本都安装有独立的GPU这就称为独显游戏本性能比较强但是续航不高另外价格也相对较高其实计算机是一个很广义的概念像洗衣机投影仪电视广义上都可以理解为计算机冯诺依曼就提出了“冯诺依曼体系结构”描述了一个计算机的组成冯诺依曼大佬主导了IAS 计算机又称 “冯・诺依曼机”的设计与建造IAS 计算机的诞生标志着计算机从 “专用计算器” 向 “通用智能工具” 的质的飞跃还有个大佬叫图灵冯诺依曼是计算机实践上的大佬图灵是人工智能与计算机科学的 “理论奠基人”他提出的测试规则至今仍是判断人工智能 “类人程度” 的重要标准之一。冯诺依曼体系结构描述计算机的组成CPU存储器内存 外存输入设备 键盘鼠标输出设备 显示器音响像显卡散热器机箱电源这些都是后来演化出来的另外需要注意的是一个设备可能即是输入设备也是输出设备例如触摸屏网卡如下图等CPU其实是很复杂的一个东西可以说是人类科技的巅峰现在能造CPU的主要有intelAMD高通苹果英伟达中国的CPU就是华为麒麟系列但是跟外国的科技还是差上几年的现在华为旗舰机搭载了鸿蒙6.0系统芯片与系统结合流畅度还是很高的对于GPU(显卡)英伟达NVIDIA是全球市场的绝对领导者例如笔记本和台式机中的 RTX 4060 显卡核心芯片由英伟达NVIDIA独家设计并主导生产由于美国对中国的制裁4090这种顶级显卡对中国禁售在中国是买不到4090满血版显卡的只能买到4090D阉割版接下来就是跟编程相关的部分在任务管理器中看下CPU在CPU中主要看两个参数速度和核心数如下图这里的速度是4.79GHz1Hz代表每秒计算一次1G 1 * 10^9 (10亿)因此这个CPU现在的速度是每秒进行47.9亿次运算接着是核心数20年前的CPU只有一个核心相当于只有一个人在干活那如何升级CPU呢可能首先想到的就是提升核心频率CPU里面包含了很多非常小的运算单元运算单元越多频率越高但是一个CPU的大小是固定的想要塞进去更多的运算单元就要让单元变小但是单元本来就很小了总不可能让它无限小因此cpu的频率已经很多年没有大幅提升频率不好提升就开始提升核心数量intel在2005年就搞出了奔腾双核处理器后来又提出了一个理念就是能不能让一个CPU核心同时打两份工一个顶俩于是intel又提出了超线程技术一个物理核心真实运算单元可以顶两个逻辑核心虚拟运算单元使用像博主的电脑有20个物理核心28个逻辑核心就有8个物理核心使用了超线程技术一个顶俩剩下的12个物理核心一个顶一个2cpu指令的执行在学C语言时我们学习到编程语言分为三个大类机器语言二进制的0101不同的二进制组合表示不同的含义在上古时期程序员写代码用的就是这个汇编语言把一些固定组合的0101转化成简单的英语单词高级语言CJava对汇编语言的进一步封装可以通过一些更具有描述性的语句对应到一组汇编代码C语言是先编译生成汇编语言再把汇编语言转为机器语言Java是先生成字节码文件(.class)接着JVM将其转成机器语言接下来就进入一个比较难的部分CPU指令的执行这里虚构一个CPU指令表用于进行演示真实的 CPU 指令集是比这个要复杂得多的表中的RAM就是Random Access Memory随机存取存储器的简写也就是我们常说的内存这个表中有个寄存器的概念寄存器就是存储数据的硬件设备跟计算机的硬盘外存还有内存类似寄存器是cpu上的一个部分一个cpu上通常用几十个寄存器都不到1kb寄存器的作用就是去临时的存储一些数据也就是保存一些中间结果辅助cpu的计算就比如要算1 2 3cpu就需要先计算 1 2把1 2的结果3保存在寄存器中再计算 3 3程序员在写代码的时候通常是无法直接访问到寄存器的寄存器就具有以下的特点访问速度极快大概是内存访问速度的100倍存储空间小成本高断电后数据丢失关于寄存器内存硬盘可以这样来比喻就好比火车入站要刷身份证硬盘 把身份证放在行李箱中内存 把身份证放在口袋里寄存器 把身份证拿在手上例如加载一个程序这个程序原来是存储在硬盘上的接着启动后再将程序加载到内存中再按需加载到寄存器中让cpu执行时取用一条指令占8个bit位就比如下面这样前面提到程序运行要先加载到内存中去下面是一个程序内存空间的示意图数据部分每个格子是1个字节8个比特位内存是以字节为单位组织的下面就根据这个程序内存空间图来看下这个程序的执行过程1.程序是从0号地址从上往下执行的就好比程序运行的入口main函数main方法首先是读取指令CPU从内存中读取到一条指令的内容读取到指令后就根据指令表来解析指令这里读取到的指令是 0010 1110 前四位是操作码后四位是操作数在前面的指令表中查下操作码0010就代表加载后面指定内存地址的数据到寄存器A中1110转化为二进制就是14也就是加载14号内存中的数据到寄存器A中这里14号内存中存储的数据是0000 0011十进制就是3这条指令执行结果就是把3存到寄存器A中可能有的铁汁有点奇怪会说这个内存表你前面说是存储操作码 操作数据地址怎么这会又变成存储纯数据了呢⁉️其实内存表是可以混合存储指令和数据具体当成操作码 地址还是纯数据取决于cpu对操作码的识别注在将二进制转为十进制时千万不要手算除非是学校考试要求手算直接打开计算器选择程序员计算器HEX十六进制DEC十进制OCT八进制BIN二进制,如下图所示2.接着进入地址1读取指令 0001 1111对照下指令表0001的意思就是加载指定地址里的数据到B寄存器中这里加载的1111地址十进制就是15也就是加载15号内存中的数据二进制为1110转为十进制就是14到B寄存器中寄存器中的存储如下图3进入地址2读取指令1000 01001000就是计算两个指定寄存器的和并将结果放入第二个寄存器中后面01和00就是两个寄存器的编号这里就把01当作B寄存器00当作A寄存器执行的结果就是将A寄存器和B寄存器的结果相加和存到A寄存器中执行完后寄存器存储如下图4.进入地址3读取指令0100 11010100的意思就是将数据从A寄存器写到指定的内存地址后面的内存地址1101十进制就是13这个指令就是将A寄存器中的数据17写到13号内存中5.接着进入地址4发现里面是0000 0000 这时候这个程序就运行结束了那这个程序具体要实现的就是计算 3 14的值 1 - 4步每步可以分为三个具体过程取指令、解析指令、执行指令也就是说进行这样一个简单的计算就要经过12个步骤但是别忘了前面我们提到了CPU能一秒进行四十多亿次运算因此执行的时间几乎可以忽略不计小结CPU 执行程序需要从内存中加载指令针对每个指令都分成 取指令解析指令执行指令 三个环节CPU 使用一些数据进行计算的时候都是需要把内存的数据加载到寄存器中才能运算.经过运算得到的结果还要从寄存器中再写回到内存中去cpu会根据指令跟内存或者其他硬件配合工作我们平常写代码时都会被编译器转化为指令供cpu执行上述过程是很简化的版本真实的cpu执行指令时是很复杂的会又一系列的优化手段来提高执行效率3操作系统刚刚在计算机硬件层面主要关注的是cpu内存这些东西操作系统就相当于是计算机中最关键的一个软件提到这个铁汁们最先想起的可能是Windows操作系统除了Windows还有很多其他著名的操作系统如下所示Linux 操作系统大部分计算机专业的铁汁都会学习这门课程Windows操作系统主要是图形化界面通过点鼠标来进行操作Linux也有图形化页面但使用时更多都是直接使用命令行进行操作的Linux系统主要在下面三个地方使用服务器服务器的操作系统90%以上都是Linux嵌入式设备像冰箱洗衣机空调这些都内置的计算机而且计算机的配置也比较低低的成本低内存可能只有几十MBCPU频率也很低因为本身也不需要进行什么特别复杂度运算那在这些设备的计算机上Windows对于硬件的要求比较高而Linux对于硬件的要求就很低因此这些设备基本上装的都是Linux操作系统Linux桌面版steamdeck掌机用的就是Linux系统如下图我们的计算机上也可以不装Windows系统装Linux系统但是Linux系统桌面版是远远落后于Windows的而且会有各种bug因此敢直接给电脑装Linux系统无异于在重庆买手动挡汽车绝对是大佬MAC OS 系统苹果电脑装的操作系统IOS苹果手机的操作系统Android是消费级第一大操作系统大部分国产手机装的都是Android系统也就是我们常说的安卓系统安卓系统也是基于Linux发展过来的Android的内核就是Linux大部分国产手机厂商都是在安卓操作系统基础上加了点自己的特色就类似于游戏中的皮肤鸿蒙鸿蒙是华为为了对抗美国制裁而自主研发的操作系统这些年的发展还是很快的在一些部分已经领先于安卓了结语这里的重点部分就是cpu指令的执行可能第一次看会觉得有点抽象这部分是学习JavaEE的入门知识其他部分铁汁们可以当作知识补充去看恭喜大家学习完了了JavaSE开始更深程度的探索Java以上就是今天的所有内容啦完结撒花
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/17 5:53:55
Claude Code模板体系搭建指南:从提示词到可复用资产
2026/10/17 5:48:54
金融业务链路重构:微服务、幂等与事务一致性实战
2026/10/17 5:48:54
用Claude Code模板库实现高效AI编程:CLAUDE.md与自定义命令实战
2026/10/17 6:33:59
刻蚀设备PM后首件:为什么总是不稳定
2026/10/17 6:33:59
工程师副业的边界:竞业与合规红线
2026/10/17 6:33:59
从专利数据到流程创新占比:1988-2025年上市公司指标构建全解
2026/10/17 6:33:59
小程序更新维护实战:从公告撰写到问题排查的完整复盘
2026/10/17 6:33:59
EdrawMax 6.8 绿色便携版:临时画图场景的免安装制图方案
2026/10/17 6:28:59
claude-code-templates:让AI编码协作更稳定的模板体系
2026/10/17 0:02:58
NetSpot 实战:用信道分析与频宽优化解决 Wi-Fi 卡顿
2026/10/17 0:02:58
C++ split() 字符串分割的五种实现与性能实测
2026/10/17 0:02:58
R语言坐标轴范围设置:从xlim/ylim到coord_cartesian的完整指南
2026/10/16 1:17:36
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/16 1:17:35
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/16 1:17:35
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/16 1:17:35
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/16 18:46:48
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/16 18:46:46
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)