java基础 -----底层

1.计算机的底层:

c盘D盘:磁盘的分区

磁盘能做到数据的长期存储

核心组件及性能参数

  1. 运算单元
  • CPU(中央处理器):包含运算器和控制器,执行指令的核心部件,处理速度最快(0.2纳秒)
  • 内存:临时存储运行中的数据和指令,访问速度中等(20纳秒)
  • 存储设备:
    • 磁盘/固态硬盘:用于长期数据存储,访问速度较慢(30-50毫秒)
    • 时间单位换算:1秒=1000毫秒=10^9纳秒,1毫秒=10^6纳秒
  1. 程序执行流程(以Hello.java为例)
  1. 源代码编译为Hello.class二进制文件
  2. 二进制文件存储于磁盘分区(如D盘、C盘)
  3. 运行时将指令和数据加载至内存
  4. CPU执行内存中的指令
  1. 数据存储机制 通过启动程序等机制,实现内存与磁盘间的数据交换,确保数据的持久化存储。

2.磁盘如何存储数据:

一、磁盘数据存储与读取

  • 存储原理:利用磁体的南北极(S、N)来表示二进制数据(如 "1010"),通过这种磁信号的方式将数据长期存储在磁盘的磁道(同心圆结构)中。
  • 读取原理:磁盘读取数据时,先将磁信号转换为电信号,经转换器处理后获取数据。

二、内存数据存储特点

内存通过电容(类似电池的结构)来存储数据,其特点是电脑关机后数据会消失,这是因为电容存储的电荷在断电后无法保持,所以内存仅用于临时存储数据。

存储设备 存储原理 数据持久性
磁盘 磁信号(南北极) 长期存储
内存 电容(电荷) 关机后消失

3.java程序在内存当中的运行过程:

一、Java 程序的编译与加载流程

  • 编译阶段 :使用 javac 命令将 Hello.java 源代码文件编译为 Hello.class 字节码文件,该文件以二进制形式存储于磁盘
  • 加载阶段 :JVM 将 Hello.class 文件从磁盘加载到内存的方法区,保留完整的类二进制信息

二、数据的存储与编码

  • 源代码存储int a = 10;这样的源代码以utf-8编码存储在磁盘的Hello.java文件中,通过utf-8编码表将字符转换为二进制(如i对应01101001等)。
  • 内存中数据表示 :变量a在内存中以十六进制和二进制形式存储,a的数值10对应二进制00000000000000000000000000001010

三、Java 内存结构(运行时数据区)

内存分为方法区

  • :用于存储局部变量等运行时数据。
  • :用于存储对象等动态分配的内存。
  • 方法区:存储类的二进制信息、常量池等。
阶段 / 区域 内容 / 作用
编译 javac.java编译为.class
加载 .class文件加载到方法区
源代码编码 utf-8将字符转为二进制
内存数据表示 变量以十六进制、二进制在内存存储
存储局部变量
存储对象
方法区 存储类的二进制信息等

4.操作系统:

一、硬件与指令传输

  • 计算机硬件通过复杂的逻辑电路 (元器件 A、B)实现功能,导线中传输的是高低电压 ,以此表示二进制的 0 和 1,进而构成二进制指令(如机器语言中的0110: 加法1110: 移动等)。

二、编程语言的层级转换

  • 机器语言:由二进制指令组成,是计算机直接识别的语言。
  • 汇编语言 :通过汇编器将汇编指令(如add)转换为机器语言。
  • 高级语言(C 语言):通过编译器将 C 语言代码转换为汇编语言,再进一步转换为机器语言,最终在内存条中执行。

三、操作系统架构

  • 操作系统内核 :包含多个驱动器,计算机中每个硬件都对应一个驱动器,用于管理硬件资源。
  • 软件层:运行各类应用程序,市面上常见的操作系统有 Windows、Linux、MACOS、Android、鸿蒙等。
层级 / 部分 内容 / 作用
硬件逻辑电路 传输高低电压,表示二进制 0 和 1
机器语言 二进制指令,计算机直接执行
汇编语言 通过汇编器转换为机器语言
C 语言 通过编译器转换为汇编语言
操作系统内核 含多个驱动器,管理硬件
常见操作系统 Windows、Linux、MACOS、Android、鸿蒙
相关推荐
二进制person15 小时前
JavaEE初阶 --文件操作和IO
java·java-ee
@老蝴15 小时前
Java EE - 线程安全的产生及解决方法
java·开发语言·java-ee
せいしゅん青春之我15 小时前
【JavaEE初阶】网络层-IP协议
java·服务器·网络·网络协议·tcp/ip·java-ee
Han.miracle15 小时前
Java ee初阶——定时器
java·java-ee
飞鱼&16 小时前
HashMap相关问题详解
java·hashmap
没有bug.的程序员16 小时前
Spring Cloud Alibaba 生态总览
java·开发语言·spring boot·spring cloud·alibaba
快乐非自愿17 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳17 小时前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
键来大师20 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
合作小小程序员小小店21 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot