一、JavaEE 与开发环境认知

1. 什么是 JavaEE?

JavaEE(Java Platform, Enterprise Edition)是 Java 平台的企业版,用于开发大型、分布式、企业级应用程序

  • 与 JavaSE 的区别:JavaSE 是基础版,专注于桌面和基础应用;JavaEE 在其之上扩展了 Web、数据库、分布式等企业级能力。
  • 核心作用:为企业级应用提供一套标准的开发规范和技术栈(如 Servlet、JSP、JDBC、Spring 等)。

2. 开发岗位与技术栈

  • 后端开发:核心是 Java + 数据库 + 中间件,负责服务端业务逻辑、数据处理和接口开发。
  • 全栈开发:同时掌握前后端技术,既能写服务端代码,也能写前端页面。
  • 运维 / 测试:保障系统稳定运行,测试代码质量,是开发流程中不可或缺的环节。

二、计算机硬件基础

1. 计算机核心组成

一台计算机的核心硬件可以概括为 五大部件

  1. 运算器:负责执行算术运算和逻辑运算(如加减乘除、与或非)。
  2. 控制器:指挥协调计算机各部件协同工作,是计算机的 “指挥中心”。
  3. 存储器:存储数据和程序,分为内存(RAM)和外存(硬盘、SSD)。
  4. 输入设备:向计算机输入数据(如键盘、鼠标、扫描仪)。
  5. 输出设备:向用户展示计算结果(如显示器、打印机)。

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)是管理计算机硬件与软件资源的系统软件,是用户和计算机硬件之间的桥梁。

  • 核心作用
    1. 管理硬件:CPU、内存、磁盘、网络等。
    2. 提供运行环境:为应用程序提供稳定的执行环境。
    3. 抽象硬件接口:让开发者无需直接操作硬件,通过系统调用完成任务。

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 大特性(面试核心)
  1. 并发性 (Concurrency):多个进程可以同时执行,宏观上并行,微观上串行。
  2. 共享性 (Sharing):多个进程可以共享系统资源(如文件、打印机)。
  3. 虚拟性 (Virtual):操作系统将物理资源抽象为虚拟资源(如虚拟内存)。
  4. 异步性 (Asynchronism):进程的执行速度和顺序不可预知,走走停停。
  5. 动态性 (Dynamic):进程有创建、执行、消亡的生命周期。
  6. 独立性 (Independence):进程是独立的资源分配和调度单位。
  7. 结构性 (Structure):进程由代码段、数据段、堆栈段组成。
3.4 进程状态

进程在生命周期中会经历以下核心状态:

  • 新建 (New):进程被创建,尚未分配资源。
  • 就绪 (Ready):进程已分配资源,等待 CPU 调度执行。
  • 运行 (Running):进程正在 CPU 上执行指令。
  • 阻塞 (Blocked):进程等待某个事件(如 I/O 完成、信号),暂时无法执行。
  • 终止 (Terminated):进程执行完毕或被终止,释放资源。
3.5 进程调度

操作系统会按照一定的调度算法,将 CPU 时间分配给就绪队列中的进程,常见算法:

  • 先来先服务 (FCFS):按进程到达顺序分配 CPU。
  • 短作业优先 (SJF):优先分配给执行时间最短的进程。
  • 时间片轮转 (RR):每个进程分配固定时间片,时间片用完后切换到下一个进程。
  • 优先级调度:按进程优先级分配 CPU,高优先级进程优先执行。

四、计算机核心概念拓展

1. 冯・诺依曼体系结构

现代计算机的基础架构,核心思想:

  1. 存储程序:程序和数据存储在内存中,CPU 自动从内存中取指令执行。
  2. 二进制:所有数据和指令都以二进制形式存储和处理。
  3. 五大部件:运算器、控制器、存储器、输入设备、输出设备。

2. 进制与数据存储

  • 进制转换:计算机底层使用二进制,开发中常用十进制、十六进制。
    • 二进制 → 十进制:1011 = 1*2³ + 0*2² + 1*2¹ + 1*2⁰ = 11
    • 十六进制 → 二进制:0xB = 1011
  • 数据单位
    • 1 字节 (Byte) = 8 位 (bit)。
    • 1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB。

3. 并发与并行

  • 并发 (Concurrency):多个任务在宏观上同时执行,微观上 CPU 快速切换执行(如单核心 CPU 运行多个程序)。
  • 并行 (Parallelism):多个任务在物理上同时执行,需要多个核心或多个 CPU 支持(如 4 核心 CPU 同时执行 4 个任务)。
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐