JavaEE初阶1.0

打破计算机的神秘感~

(⼤家可以配合 Crash Course Computer Science 视频做更详尽的学习和了解)

一、 计算机是怎么构成的

1.0 CPU基本情况

x86架构  intel  amd 家用pc  服务器  

arm架构  苹果 苹果电脑  高通 智能手机

高通(安卓旗舰手机主要芯片供应商)

2.0 汇编语言

是机器语言 不同cpu 架构不同 指令集不同  对应的机器语言/汇编语言也是不同的

cpu的寻址 16位 64位 等等

cpu的位数,就和代码中,内存地址用几个字节表示是密切相关的~

3.0 cpu是怎么构成的

不理解具体过程  但是至少要知道,CPU以及其他的 内存,硬盘等等 重要的设备

都是由 门电路 构成的    门电路由晶体管构成  晶体管足够小(nm级别)

这样就达到了足够多

4.0 如何判断CPU好坏

cpu能不能搞大一点呢?不可以 这样意味着加工的时候 良品率会大幅度降低!!!

解决办法:多核cpu  

能不能让一个cpu核心当成俩来用? (超线程技术

咱们现在的CPU都是这种 多核+超线程 技术加持的产物

查看cpu:任务管理器(ctrl+shift+esc) -----> 性能----------->CPU

cpu内核6个  逻辑处理器12个(相当于12个人同时干活)  还有一个指标是 频率

频率:描述单个CPU核心工作的速度~  

除此之外 还有很多指标可以衡量~  有大佬,已经把CPU的水平,排出座次,咱们可以直接参考

例如:网上搜索CPU天梯图(台式机和笔记本是两个不同的天梯图)

通过任务管理器里面对应自己的CPU型号

5.0  指令(重点)

虽然咱们可以不用理解CPU的具体构造,但是需要理解,CPU是怎么执行代码的~~~

下面是一个指令表      地址0  数据00101110  

这个一段指令  其实就是内存中的一段数据~~

咱们写好的代码,最终想要运行,都是需要让操作系统,先把写好并编译好的指令加载到内存中,让后cpu才能执行的~~~

cpu执行指令的时候,要经历从内存读取数据这样的操作的~

6.0 冯诺依曼结构

精髓:cpu和内存分开 (执行单元和存储单元分开) 

这样解耦合 降低了硬件设计的成本,随着硬件技术的发展,cpu越来越快了,但是内存读取这个事情,提升不明显,内存渐渐的跟不上cpu的节奏了

cpu就设计了很多的机制,来解决上述问题:

缓存  (理解为cpu为舞台 内存为演员   演员不能及时赶到舞台,然后缓存是就近的演员  之前的缓存是在’南北桥‘(cpu附近的宾馆)上的,现在直接集成到cpu上

新的计算机结构的尝试:      量子计算机~ 

总结:

cpu要执行的指令(在指令集中 不同架构cpu指令集不同)存在内存里面,取指令的操作,其实是非常耗时的,因此cpu中通过缓存,流水线等技术,来优化这里的效率

二、操作系统

1.0 介绍

操作系统是一个软件(由代码构成程序)       

主要职责:管理各种硬件设备    给其他软件提供稳定的运行环境(抽象 封装)

例: 罗技G鼠标 13个案件  程序需要响应鼠标的操作,但是总不能根据不同的鼠标,写不同的代码吧?    这个时候就需要操作系统站出来,统一管理各种不同的硬件设备,给软件提供统一的api~

这样就可以不必关注硬件的细节差别了,只需要调用操作系统的api即可,再由操作系统来去控制不同的硬件进行工作~

操作系统也提供了一些管理软件资源的api,可以调用api来完成一些特定的工作

这些应用程序,在工作过程中是互不干扰的  及时某个程序有bug也不会影响到其他应用程序的运

常见系统:windows linux(程序员必须要掌握的系统)   mac  ios  android等等

使用windows一般都是图形化页面(降低门槛)     linux是命令行操作(生产力工具)

上述各种系统彼此之间是不兼容的,但是Java的优点就是 跨平台 

三、 进程(重点)

1.0 概述

一个运行起来的程序   叫做一个进程

process   操作系统中的重要概念  

进程多了  操作系统就需要 能够很好的 管理上述进程

站在系统的角度,如何管理进程?

(1)先描述出一个进程是啥样的     

使用结构体(主流的操作系统都是C语言写的),描述出进程的核心属性

进程控制块(PCB)   非常大的结构体,有很多很多属性~

(2)再把多个进程组织起来

比如 linux这样的操作系统,使用链表这样的形式,把多个PCB串到一起

创建一个新进程,就是创建一个PCB   初始化PCB的各个属性  把PCB加到链表上

销毁一个进程  查看进程列表等等等

2.0 PCB

(1)pid  进程id 

进程的身份标识符~~  (任务管理器右键打开)

(2)内存指针(一组指针)

进程需要知道执行的指令在哪里  指令依赖的数据又在哪里

双击exe  运行一个程序,创建一个进程

操作系统的加载过程:

操作系统 会把exe中的指令加载到内存中  后续进程在运行过程中,就会从指令内存区域里一条一条的取指令并执行~

操作系统和cpu: 

操作系统本身也是一个软件,也是由一系列指令构成的  

cpu就会依次执行操作系统的这些指令(操作系统跑起来了)

此时运行某个进程,操作系统就会进行 刚才的加载到内存的过程,让cpu来执行这里的指令

(3)文件描述符表

这个表记录了我要打开哪些文件

进程 运行过程中   很多时候 需要和硬盘进行交换(硬盘上的数据是用文件来存储的)

每次打开一个文件,就会把这个文件的信息,保存到文件描述符表中~

进程的运行  需要依赖硬盘 网卡  cpu

进程是操作系统中,资源分配的基单位

(4)  进程状态

分时复用:一秒钟拆分成很多部分     每个部分对应一个进程    cpu运行速度足够快 

                   切换的过程也快     超出人类的反应时间 从人类的角度看就是可以同时干很多事                               其实是串行  但是效果上看起来像是并行

进程状态:两个典型的

就绪状态(随叫随到)  进程随时可以到cpu上进行

 阻塞状态进程(有事)    当前不适合到cpu上执行

(5)进程优先级

有些进程,就是要优先级高一点,吃到更多的cpu资源

(6)进程的上下文

进程调度  一个进程执行一会  失去cpu  

过了一段时间后,进程还会回到cpu上执行  沿着上次执行到的状态,继续往下执行

翻出小本子回忆一下上次的进展~

进程在cpu中运行的过程中,cpu上的各种寄存器,就表示了当前进程运行的“中间状态” 

寄存器不止是储存中间结果   也会存储当前这个进程执行到第几条指令了 以及当前进程中“函数调用关系”      简单来说 就是游戏中的存档

(7) 进程的记账信息

统计功能     统计每个进程都在cpu上面运行了多久

如果发现某个进程,好久没有吃到cpu资源了 就会给这个进程倾斜一些资源~~

上面是计算如何工作的概述 接下来就是多线程的知识

感谢大家的支持

更多内容还在加载中...........

如有问题欢迎批评指正,祝大家生活愉快、学习顺利!!!

1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值