Java基础之底层硬件篇

操作系统:

  1. 内存:
    1. 内存最小单位:1B  ---> 8bit
    2. 16G 内存, 1G = 2 ^ 30B,16G = 2^32B,对应有 2 ^ 34个存储地址
    3. 内存地址下标从 1 开始
    4. 内存的纯空间不需要记录地址,当存入数据时需要记住地址
    5. 存储数据需要消耗额外的空间地址
      1. 内存每个数据的地址需要 34 bit
      2. 内存地址消耗空间:34bit * 2 ^ 34
    6. 当总容量不变,如果单元地址太小,存储地址消耗空间太大,不划算
    7. 当存储单元太大时(10M):
      1. 地址量会少很多,一个存储单元多个变量时只能访问第一个变量,其余空间被舍弃
    8. 数据地址:
      1. 在内存中:一个存储单元最多属于一个变量
      2. 在硬盘中:一个存储单元最多属于一个文件
  2. 操作系统优化内存:
    1. 重新规定存储单元
    2. 在内存中:一个存储单元 4KB(一页)
      1. 读取速度变快
    3. 在硬盘中:一个存储单元 4KB(扇区)
      1. 扇区:逻辑上存在,物理上不存在
      2. 读取速度快,当空间容易产生浪费
    4. 硬盘的扇区大小可调节,内存页的大小不可调节
    5. 操作系统向内存申请空间最少为 4KB
    6. 数组存储对内存消耗比较小,性能较好
  3. 高速缓存:
    1. 运行行:64B
    2. CPU多核心计算时,传输数据会占用总线,一个核心占用其它核心就不能工作
    3. 缓存就会从使用的数据从内存中拷贝一份,进行计算,此时就会释放总线
    4. 当高速缓存容量不够时会对数据进行回传
    5. 缺点:当多个核心计算一份数据时,回传结果的时候就会被覆盖
  4. 多级缓存:
    1. 缓存和内存之间传输距离长,传输数据很慢,但是在两个传输点之间建立多个高速缓存,每个缓存之间传输距离短传输速度变快,性能提升
    2. 离内存越近的缓存越大
  5. 缓存:
    1. 符合:比读取路径更短更快得地方,就叫做缓存
    2. 任何东西都可是缓存
  6. 总线:
    1. 如果缓冲区内的数据太多,想要读取到某个数据,就会出现等待的情况
    2. CPU 里六种变量中,布尔类型变量比重比较大,用 int 类型代表布尔类型,缓冲区中的数据就会变少,拥塞程度下降,读取时就会变得更快
    3. 计算机底层经常用空间换取时间
  7. 初始化:变量初次赋值

程序的执行流程

  1.     计算机三大件:
    1. CPU、内存、磁盘 \ 机械硬盘
    2. 磁盘:内部都是由文件的形式存储
    3. 内存:以运行状态存储文件
  2. JDK:对源文件的解释和帮助(任何操作系统都一样)
  3. JRE:屏蔽不同系统的底层差异
    1. 从 .java 文件通过 javac 命令编译成 .class 文件
    2. 把 .class 文件通过 java 命令读取到内存中开辟的 JVM 内存中的方法区
  4. main方法开始入栈,main 方法依次调用其它方法或变量入栈,执行完毕出栈
  5. 在内存中加载类中的元素

或与非运算

  1. &:遇 0 则 0,双 1 为 1
  2. | :遇 1 为 1
  3. ~:按位取反
    1. 负数是得到它的补码再按位取反
  4. ^:相同为 0 ,不同为 1(可以看成相加,不进位,取最后一位)
  5. << :bit 位向左移动,多余的舍弃,空余的补零
    1. M 进制左移 n 位,相当于 * M 的 n 次方(不超范围时成立)
      1. 位运算速度最快
    2. 任何两个数相乘都能拆成位运算
      1. 例:333 * 213 = 333 * (128 + 64 + 16 + 4 + 1) = 333 <<< 7 + 333 << 6 + 333 << 4 + 333 << 2 + 333
    3. 万亿级别数据相乘,最多四十次运算结束
  6. >> :bit 位向右移动
    1. 多余的舍弃,空余补符号位(是 1 补 1,是 0 补 0)
  7. >>>:右移运算
    1. 左侧补零
  8. 此类运算是电压相互作用得出结果
  9. 结核性:
    1. 表示运算方向,从右向左运算或者从左向右运算
  10. CPU 内部都是许多异或非电路组成
    1. 主要由与或非电路,寄存器和多级缓存组成
    2. 寄存器组:判断下一步执行事件(相当于人类大脑,判断下一步的动作)
  11. 电路:
    1. 电路中有若干半导体,增加逻辑性
    2. 半导体:
      1. 在导体和绝缘体之间进行切换
    3. 电压被分解成若干个电压,作用于不同半导体,使得输出相应的结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值