01-javaEE开篇

导论

什么是软件?

软件是用代码解决实际问题的一种方式,比如写一个记事本程序用于记录信息。

如何写出一个软件?

写软件需要我们程序员兼修 内功心法外功招式

  • 内功心法:Java基础语法、数据结构、数据库、计算机基础等核心知识。
  • 外功招式:API、库、框架。比如模拟鼠标点击操作,就需要调用系统提供的API。

比如图形化程序可以使用 Qt,开发安卓应用则需掌握 Android SDK。

内外兼修,才能写出有实际价值的应用程序。

我们需要了解计算机是如何工作的

CPU(核心硬件)

CPU 是计算机的大脑。其内部由门电路构成半加器、全加器,再构建成加法器等模块。

对于 Java 程序员来说无需了解过于底层的结构,因为 Java 虚拟机会封装底层调用。

CPU 架构
  • x86 架构:如 Intel、AMD,主要用于 PC 和服务器。
  • ARM 架构:如苹果 M 系列、高通芯片,常见于移动设备和部分笔记本电脑。

两者主要区别在于 指令集

多核与超线程

现代 CPU 多为多核设计,并搭载超线程技术。比如 8 核 CPU 可模拟为 16 线程执行,提升并发能力。

CPU 核心图示

CPU 频率

CPU 频率(GHz)表示其执行速度,是每秒指令数的粗略估计。频率具有动态变化特性,取决于负载情况,称为 睿频技术

频率变化图

缓存与流水线

因为内存速度不如 CPU,我们引入了 缓存流水线技术

  • 缓存:存储即将使用的数据,速度远快于内存。
  • 流水线:多个指令阶段并行处理,提高效率。

缓存图示

指令集与执行流程
  • x86:复杂指令集
  • ARM:精简指令集

简化执行流程


操作系统

操作系统是管理硬件资源并为应用程序提供运行环境的软件。

常见操作系统:

  • Windows
  • Linux
  • macOS
  • iOS
  • Android

Java 程序员通过 JVM 调用系统 API,从而实现跨平台运行。

系统架构图


小结

  • 冯诺依曼架构:将指令加载至内存,由 CPU 执行。因访问效率低,引入了缓存与流水线。
  • 操作系统:抽象封装硬件与软件资源,为程序提供统一运行接口。
  • 进程(任务):是系统分配资源的最小单位,支持多任务并发执行。

进程管理

进程(Process) 是操作系统中正在运行的程序,是资源调度的核心单位。

多任务操作系统

允许多个程序同时运行,如浏览器、画图板、音乐播放器同时开启。

PCB(进程控制块)

操作系统通过结构体(如 Linux 的 task_struct)来描述进程信息。多个 PCB 使用链表等数据结构进行组织。

关键属性

  • pid:进程唯一标识。
  • 内存指针:描述进程使用哪些内存区域。
  • 文件描述表:管理进程与外部文件的交互。
  • CPU 占用:表示进程在 CPU 上的运行时间。

分时复用与并发

同一时刻,每个核心仅能执行一个进程。多个进程通过快速切换实现“并发”,多个核心支持“并行”。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值