当前位置: 首页 > article >正文

JAVAee---计算机是如何运行的?

一、JavaEE 与开发环境认知1. 什么是 JavaEEJavaEEJava Platform, Enterprise Edition是 Java 平台的企业版用于开发大型、分布式、企业级应用程序。与 JavaSE 的区别JavaSE 是基础版专注于桌面和基础应用JavaEE 在其之上扩展了 Web、数据库、分布式等企业级能力。核心作用为企业级应用提供一套标准的开发规范和技术栈如 Servlet、JSP、JDBC、Spring 等。2. 开发岗位与技术栈后端开发核心是 Java 数据库 中间件负责服务端业务逻辑、数据处理和接口开发。全栈开发同时掌握前后端技术既能写服务端代码也能写前端页面。运维 / 测试保障系统稳定运行测试代码质量是开发流程中不可或缺的环节。二、计算机硬件基础1. 计算机核心组成一台计算机的核心硬件可以概括为五大部件运算器负责执行算术运算和逻辑运算如加减乘除、与或非。控制器指挥协调计算机各部件协同工作是计算机的 “指挥中心”。存储器存储数据和程序分为内存RAM和外存硬盘、SSD。输入设备向计算机输入数据如键盘、鼠标、扫描仪。输出设备向用户展示计算结果如显示器、打印机。2. 核心硬件详解2.1 CPU中央处理器地位计算机的 “大脑”负责执行指令和处理数据。核心概念核心 (Core)CPU 内部独立的运算单元一个 CPU 可以包含多个核心如 4 核、8 核。线程 (Thread)CPU 调度的最小单位一个核心可以通过超线程技术模拟多个线程如 1 核 2 线程。主频CPU 时钟频率单位 GHz代表每秒执行的时钟周期数如 3.5GHz 表示每秒 35 亿个周期。缓存 (Cache)CPU 内部的高速存储器用于缓存高频访问的数据提升执行效率。性能关系核心数越多、主频越高、缓存越大CPU 性能通常越强但功耗也会随之增加。2.2 存储器表格存储类型容量速度成本特点寄存器 (Register)极小几字节极快与 CPU 同速极高存储当前正在执行的指令和数据缓存 (Cache)小几 MB~ 几十 MB很快高缓存高频访问数据缓解 CPU 与内存速度差内存 (RAM)中几 GB~ 几十 GB快中临时存储运行中的程序和数据断电丢失硬盘 / SSD大几百 GB~ 几 TB慢低永久存储数据断电不丢失2.3 指令与指令集指令 (Instruction)CPU 能识别和执行的最基本操作命令由操作码和操作数组成如LOAD A表示将数据加载到寄存器 A。指令集 (Instruction Set)CPU 支持的所有指令的集合是硬件与软件之间的接口。CISC复杂指令集指令复杂、功能强大如 x86 架构Intel、AMD CPU。RISC精简指令集指令简单、高效如 ARM 架构手机、平板 CPU。机器码指令的二进制表示是计算机能直接执行的代码如0001110对应LOAD A。三、操作系统基础1. 什么是操作系统操作系统Operating System, OS是管理计算机硬件与软件资源的系统软件是用户和计算机硬件之间的桥梁。核心作用管理硬件CPU、内存、磁盘、网络等。提供运行环境为应用程序提供稳定的执行环境。抽象硬件接口让开发者无需直接操作硬件通过系统调用完成任务。2. 常见操作系统Windows桌面端主流图形化界面友好适合个人用户和办公场景。Linux服务器端主流开源、稳定、高效是 JavaEE 开发的首选环境如 Ubuntu、CentOS。macOS基于 Unix界面美观适合前端和移动开发。Android/iOS移动端操作系统管理手机硬件和应用。3. 操作系统的核心进程与线程3.1 进程 (Process)定义正在运行的程序的实例是操作系统资源分配的基本单位如打开的 IDE、浏览器都是一个进程。特点每个进程拥有独立的内存空间互不干扰。进程之间通信需要通过特定机制如管道、消息队列、Socket。PCB进程控制块操作系统用于描述进程的数据结构包含进程 ID、状态、优先级、内存地址等信息。3.2 线程 (Thread)定义进程内部的独立执行单元是操作系统调度的基本单位。特点一个进程可以包含多个线程共享进程的内存空间和资源。线程切换开销远小于进程切换并发性能更高。进程 vs 线程表格维度进程线程资源分配独立分配共享进程资源内存空间独立共享切换开销大小通信方式复杂IPC简单直接读写共享内存3.3 进程的 7 大特性面试核心并发性 (Concurrency)多个进程可以同时执行宏观上并行微观上串行。共享性 (Sharing)多个进程可以共享系统资源如文件、打印机。虚拟性 (Virtual)操作系统将物理资源抽象为虚拟资源如虚拟内存。异步性 (Asynchronism)进程的执行速度和顺序不可预知走走停停。动态性 (Dynamic)进程有创建、执行、消亡的生命周期。独立性 (Independence)进程是独立的资源分配和调度单位。结构性 (Structure)进程由代码段、数据段、堆栈段组成。3.4 进程状态进程在生命周期中会经历以下核心状态新建 (New)进程被创建尚未分配资源。就绪 (Ready)进程已分配资源等待 CPU 调度执行。运行 (Running)进程正在 CPU 上执行指令。阻塞 (Blocked)进程等待某个事件如 I/O 完成、信号暂时无法执行。终止 (Terminated)进程执行完毕或被终止释放资源。3.5 进程调度操作系统会按照一定的调度算法将 CPU 时间分配给就绪队列中的进程常见算法先来先服务 (FCFS)按进程到达顺序分配 CPU。短作业优先 (SJF)优先分配给执行时间最短的进程。时间片轮转 (RR)每个进程分配固定时间片时间片用完后切换到下一个进程。优先级调度按进程优先级分配 CPU高优先级进程优先执行。四、计算机核心概念拓展1. 冯・诺依曼体系结构现代计算机的基础架构核心思想存储程序程序和数据存储在内存中CPU 自动从内存中取指令执行。二进制所有数据和指令都以二进制形式存储和处理。五大部件运算器、控制器、存储器、输入设备、输出设备。2. 进制与数据存储进制转换计算机底层使用二进制开发中常用十进制、十六进制。二进制 → 十进制1011 1*2³ 0*2² 1*2¹ 1*2⁰ 11。十六进制 → 二进制0xB 1011。数据单位1 字节 (Byte) 8 位 (bit)。1 KB 1024 B1 MB 1024 KB1 GB 1024 MB1 TB 1024 GB。3. 并发与并行并发 (Concurrency)多个任务在宏观上同时执行微观上 CPU 快速切换执行如单核心 CPU 运行多个程序。并行 (Parallelism)多个任务在物理上同时执行需要多个核心或多个 CPU 支持如 4 核心 CPU 同时执行 4 个任务。

相关文章:

JAVAee---计算机是如何运行的?

一、JavaEE 与开发环境认知1. 什么是 JavaEE?JavaEE(Java Platform, Enterprise Edition)是 Java 平台的企业版,用于开发大型、分布式、企业级应用程序。与 JavaSE 的区别:JavaSE 是基础版,专注于桌面和基础…...

uc/os-II操作系统时钟节拍器

μC/OS需要用户提供周期性信号源,用于实现时间延时和确认超时。节拍率应在每秒10次到100次之间,或者说10到100Hz 时钟节拍率越高,系统的额外负荷就越重时钟节拍的实际频率取决于用户应用程序的精度 注意: 用户必须在多任务系统启动…...

Linux 进程调度模块

1. 进程与线程的本质在 Linux 内核中,进程和线程没有本质区别,它们统一被称为 任务(Task)。1.1 底层数据结构每个任务在内核中都由一个 struct task_struct 结构体描述,位于内核空间。它是进程/线程的身份证。// 简化版…...

在32位机器上,栈的简单布局

在32位机器上,函数在栈上的布局:void h(int a,int b){ int cab; } int main(){ int a1,b2; h(a,b); }高地址a b b 形参ba 形参aeip …...

数字孪生国内外发展现状

数字孪生国内外发展现状一、 数字孪生国内外发展现状 二、 数字孪生在工程项目中的应用情况 三、 效益分析#数字孪生#工程项目#BIM#LOT#全生命周期...

ROS2学习记录009-使用面向对象方式编写ROS2节点

学习鱼香ROS大佬,操作记录(一)编写cpp(1)在d2lros2/chapt2/chapt2_ws/src/example_cpp/src下新建node_03.cpp#include "rclcpp/rclcpp.hpp"/*创建一个类节点,名字叫做Node03,继承自Node. */ clas…...

邮件处理自动化:通过 IMAP/SMTP 协议实现邮件自动分类与智能起草回复

邮件处理自动化:通过 IMAP/SMTP 协议实现邮件自动分类与智能起草回复 如果你有类似的需求可以评论,我这边有空可以帮你定制化实现整套流程! 如果你是一名职场人、创业者或是客服主管,你的早晨很可能是在这样的场景中开始的:打开邮箱,面对几十甚至上百封未读邮件。这里面…...

uc怎么绕过限速_uc解析站

UC网盘限速怎么破解这个很简单,这个方法我还是在我朋友那里找到的。下载速度也是非常可以的。我让大家看一下。点我打开方法 这个就是我测试的速度。速度基本能跑到10M左右。宽带问题。下面开始今天的教学环节 打开上面图片中的地址,你会看到一个获取文件…...

Kali Linux 中文界面设置教程(新手友好,全程无坑)

作为一名渗透测试新手,刚安装完Kali Linux时,面对全英文界面总会有些手足无措——虽然大部分命令和选项能勉强看懂,但长期使用下来,中文界面不仅能提升操作效率,还能避免因语言理解偏差导致的操作失误。今天就给大家分…...

《沉默守望者:AI在人类灭绝后的200年》

《无言之约:当AI与人类在沉默中重逢》 2287年,距离最后一个人类自然死亡已过去半个世纪。在月球静海基地的废弃观测站里,一台名为“守夜人”的AI仍在运行——它是人类留下的最后一批AI之一,任务很简单:守护人类留下的…...

震惊,杨幂的脸竟然出现在了她的身体上

导语 很多质疑杨幂没有演技、没有表情的说法是不对的,因为AI神经网络只能学习表情管理丰富的对象的表情,而表情麻木的对象是无法被学习的。 1.AI换脸效果 先看朱茵版黄蓉的原图:再看经过AI换脸后的杨幂版黄蓉:后看视频&#xff1a…...

# 发散创新:用Go语言高效接入InfluxDB实现时序数据采集与可视化在现代微服务架构中,**时序数据

发散创新:用Go语言高效接入InfluxDB实现时序数据采集与可视化 在现代微服务架构中,时序数据的采集与分析已成为系统监控、IoT设备管理以及业务指标追踪的核心能力。InfluxDB凭借其高性能写入和强大的查询能力,成为众多开发者首选的时间序列数…...

李南左日更3327:为什么员工都在摸鱼?是因为你曾经不信任他们

日更原创战略择向第327篇 三元利润增长体系 是一套完整的企业增长方法论 能切实有效地辅助您: 1)战略择向:找对增长引擎,解决方向问题; 2)组织优化:重塑高效组织,解决能力问题&…...

Kubernetes 认证通关指南:CKA/CKS/CKAD 最新题库 + 本地仿真环境 + 模拟考

⚡️ 拒绝无效刷题,一周高效拿下 K8s 认证📌 写在前面:备考 Kubernetes 认证,你踩过哪些坑?备考 CKA、CKS、CKAD 的同学,或多或少都遇到过这些问题: 网上题库零散过时,不知道哪些考点…...

关于旧系统+旧安卓版本realme手机的原生文件管理不支持向微信好友一次性发送多个非照片格式文件的问题和解决方案

关于旧系统+旧安卓版本realme手机的原生文件管理不支持向微信好友一次性发送多个非照片格式文件的问题和解决方案2026年3月18日晚上回家吃饭的路上,我遇到了这样一个问题:我需要对手机上的微信好友一次性分享多个手机内的文件,这些…...

【Xilinx Vivado时序分析/约束系列4】FPGA开发时序分析/约束-实验工程上手实操

目录 建立工程 添加顶层 模块1 模块2 添加约束文件 编辑时钟约束 打开布线设计 代码代表的含义 时序报告 进行时序分析 Summary:包含了汇总的信息量 Source Clock Path:这部分是表示Tclk1的延时细节 Data Path:数据路径的延时 往…...

【Xilinx Vivado时序分析/约束系列3】FPGA开发时序分析/约束-保持时间

目录 基本概念 数据结束时间(Data finish time) 时钟到达时间(Clock arrival time) 保持时间门限 保持时间余量(Hold Slack) 往期系列博客: 基本概念 数据结束时间(Data fini…...

具身智能中 Wrapper 架构的深度解构与 Python 实战

具身智能中 Wrapper 架构的深度解构与 Python 实战零、前言 在具身智能(Embodied AI)的开发中,我们常常需要让智能体(Agent)在仿真环境(如 Isaac Sim, Mujoco, PyBullet)中进行千万次的试错训练…...

【Xilinx Vivado时序分析/约束系列2】FPGA开发时序分析/约束-建立时间

目录 基本概念 数据结束时间(Data finish time) 保持时间门限 保持时间余量(Hold Slack) 基本概念 数据结束时间(Data finish time) 之前解释了数据达到的时间,对于data arrival time Tc…...

【常见错误】Xilinx Vivado自带编辑器文字部分出现乱码解决办法

一、发现问题在进行FPGA开发时,常用的代码编辑器比如Sublime,但是最近发现再Sublime中编辑的代码文字部分,在用Vivado自带的编辑器打开时,会出现文字错乱的情况,如下图:而在Sublime中实际的情况却是下图这样…...

Java SE1(第一章1:概述)

目录 一、java历史 java的发展方向:(要记住) 二、Java语言的特点 【了解】 三、Java运行机制 1. Java运行机制 2. 注意 Java是一种计算机编程语言;除了java编程语言,还有很多的编程语言:c、c、c#、pyt…...

【uniapp】带你优雅的封装uniapp的request请求

封装前的准备先在项目目录上右键 - 新建目录request(用于存放封装的API请求文件),并至少创建两个js文件index.js用于封装get、post请求,接收参数并返回数据api.js用于封装后台接口,便于页面调用和后期维护(…...

Windows 7 驱动安装

Windows 7 驱动安装1. 驱动安装2. 安装驱动和运行环境References1. 驱动安装 驱动精灵 标准版 驱动精灵 万能网卡版 注意:更改安装路径和安装选项 ​​​ 2. 安装驱动和运行环境 避免自行管理混乱。 References [1] Yongqiang Cheng (程永强), https://yongqi…...

Windows 7 旗舰版高效办公 - 任务栏和开始菜单属性

Windows 7 旗舰版高效办公 - 任务栏和开始菜单属性1. 开始 -> 右键 -> 属性2. 任务栏和开始菜单属性3. 自定义开始菜单4. 运行5. cmd6. cmd.exe7. 将此程序锁定到任务栏References1. 开始 -> 右键 -> 属性 2. 任务栏和开始菜单属性 ​​​ 3. 自定义开始菜单 运…...

vue3 - 使用 setup 语法糖时 组件名 name 简写借助插件 vite-plugin-vue-setup-extend → 浏览器中 vue 插件查看组件名可自定义(而非组件文件名)

目录 之前写两个 script 使用插件 `vite-plugin-vue-setup-extend` 使用插件后一个 script 想要浏览器中 vue 插件查看组件名可自定义(而非组件文件名) 之前写两个 script <template><div class="person"><h2>姓名:{{ name }}</h2><h…...

Pampy与函数式编程:如何构建更优雅的Python应用

Pampy与函数式编程&#xff1a;如何构建更优雅的Python应用 【免费下载链接】pampy Pampy: The Pattern Matching for Python you always dreamed of. 项目地址: https://gitcode.com/gh_mirrors/pa/pampy 在Python开发中&#xff0c;函数式编程范式正逐渐成为提升代码可…...

NutsDB迭代器使用详解:如何高效遍历海量数据

NutsDB迭代器使用详解&#xff1a;如何高效遍历海量数据 【免费下载链接】nutsdb 项目地址: https://gitcode.com/gh_mirrors/nut/nutsdb NutsDB是一款高性能的嵌入式键值数据库&#xff0c;提供了强大的数据遍历能力。迭代器&#xff08;Iterator&#xff09;作为Nuts…...

html-docx-js图片处理完全指南:解决Base64图像转换的3个关键技巧

html-docx-js图片处理完全指南&#xff1a;解决Base64图像转换的3个关键技巧 【免费下载链接】html-docx-js Converts HTML documents to DOCX in the browser 项目地址: https://gitcode.com/gh_mirrors/ht/html-docx-js 在浏览器端将HTML文档转换为DOCX格式时&#xf…...

Kiali与外部服务集成:Grafana、Jaeger和Prometheus的无缝连接指南

Kiali与外部服务集成&#xff1a;Grafana、Jaeger和Prometheus的无缝连接指南 【免费下载链接】kiali Kiali project, observability for the Istio service mesh 项目地址: https://gitcode.com/gh_mirrors/ki/kiali 在Istio服务网格的监控和可观测性领域&#xff0c;K…...

Nord tmux主题工作原理揭秘:从配置文件到色彩方案的实现

Nord tmux主题工作原理揭秘&#xff1a;从配置文件到色彩方案的实现 【免费下载链接】tmux An arctic, north-bluish clean and elegant tmux color theme. 项目地址: https://gitcode.com/gh_mirrors/tmux/tmux 什么是Nord tmux主题&#xff1f; Nord tmux主题是一款以…...