穿越 java | 快速入门篇 - 第1节 计算机基础知识

主题:计算机基础知识

    • 开发环境
    • 更多干货
    • 定义
    • 作用
    • 组成元件
      • CPU
      • 内存
        • cpu里的高速缓存
        • BIOS软件(基础输入输出系统)
        • CMOS芯片
      • 机械硬盘
        • 组成
        • 数据存取过程
    • 文件编码
      • ASCII
      • GBK
      • UTF-8
    • 工作流程
    • 计算单位
    • 架构和接口设备
    • 软件程序运行
    • 总结:

开发环境

基于:IntelliJ IDEAMaven构建工具JDK1.8Spring4.3.28编写。

更多干货

《穿越 Java 第一章 - 快速入门篇》 《穿越 Java 第十三章 - Spring 基础篇》
《穿越 Java 第二章 - 安装配置篇》 《穿越 Java 第十四章 - Spring 核心篇》
《穿越 Java 第三章 - 基础语法篇》 《穿越 Java 第十五章 - Spring 集成篇》
《穿越 Java 第四章 - 核心语法篇》 《穿越 Java 第十六章 - Spring Mvc篇》
《穿越 Java 第五章 - 关键字篇》
《穿越 Java 第六章 - 工具类篇》
《穿越 Java 第七章 - 集合容器篇》 《穿越 Java 第十七章 - MyBatis 篇》
《穿越 Java 第八章 - 并发编程篇》 《穿越 Java 第十八章 - SpringBoot篇》
《穿越 Java 第九章 - 异常处理篇》
《穿越 Java 第十章 - 网络协议篇》
《 穿越 Java 第十一章 - 网络 IO 篇 》 《穿越 Java 第十九章 - SpringCloud 体系篇》
《 穿越 Java 第十二章 - J V M 篇 》 《穿越 Java 第二十章 - SpringCloud Alibaba体系篇》
《 穿越 Java 第十三章 - Mysql 篇 》 《穿越 Java 第二十一章 - Git 版本管理篇》
《 穿越 Java 第十四章 - Redis 篇 》 《穿越 Java 第二十二章 - Maven构建工具篇》
《穿越 Java 第十五章 - Linux篇》 《穿越 Java - 轻 松 搞 定 面 试》
《穿越 Java 第十六章 - Nginx篇》 《穿越 Java - Web基础篇 》
《穿越 Java 第十七章 - 设计原则篇》
《穿越 Java 第十八章 - 设计模式篇》

定义

首先 认识一下计算机

先copy一段百度百科的话

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

作用

计算机的作用有哪些?
计算机: 输入指令和数据,经过处理后,产生有用的信息。

组成元件

计算机组成元件: 输入单元(鼠标、键盘、触摸板等)、cpu、显卡、主板、内存、硬盘、输出设备(显示器等)、各种接口设备(声卡、网卡等)。

CPU

根据指令集分为2种,精简指令集(R·ISC)和复杂指令集(C·ISC)。

  • 【精简指令集】
    指令数较少,每条指令执行时间很短,完成的操作也很单一,要完成复杂操作需要多条指令。
    IBM的PowerPC(ps3等使用)和ARM系列(手机、路由器等使用)的cpu使用的是这种指令集。

  • 【复杂指令集】
    指令数很多而且都比较复杂,每条指令执行时间较长,能处理的工作比较丰富。
    AMD、Intel等X86架构的cpu使用这种指令集。

  • x86架构:指Intel最早开发出来的cpu叫8086,后开又有80286、80386等,
    所以这种架构的cpu就被称为了x86架构。

内存

cpu所有数据都来自内存

  • 内存的主要组成部分是动态随机访问内存(D·RAM),通电时才能使用,断电后数据消失。

  • 内存容量越大越好,因为所有数据都要加载到内存里才能被cpu读取。

  • 如果现在要加载大量数据到内存里,如果内存没有足够容量就只能释放暂时不用的内存,而释放内存可能会消耗一定的cpu时间,导致系统卡顿。

  • 内存频率最好和所使用的cpu的外频一样。

cpu里的高速缓存

cpu的数据是通过北桥从内存里读出来的,如果不通过北桥,
直接在cpu内部读取就会快很多,因此有了cpu高速缓存。
由于高速缓存在cpu内,要与cpu总体工作频率一致,
D·RAM不支持,需要静态随机访问内存(S·RAM)。

BIOS软件(基础输入输出系统)

BIOS是个程序,管理系统信息、进行开机自检等功能。
bios程序写死在在主板的一个内存芯片里(ROM),ROM芯片没有通电也能记录数据(相当于硬盘)。

CMOS芯片

  • 是一个主板上的可读写的RAM芯片(RAM断电数据消失,所以CMOS有单独的电池)。
  • 这个芯片记录了硬件的各项参数。CMOS的设置通常被写进BIOS里。

机械硬盘

组成

由盘片、机械手臂、磁头和主轴马达组成。

  • 盘片:通常是铝合金圆盘,上面涂了磁性材料。

  • 磁道:每个盘片分成了多个同心圆形的磁道,每个同心圆磁道一般可以存储几kB的。

  • 扇区:每个磁道又平分为多个块,这个块就叫扇区。
    扇区是机械硬盘上存储的物理单位,每个扇区可以存储512字节的数据。
    (z注意h,即使只需要某个字节,也要把扇区里的512B的数据都读出来)

  • 柱面:指不同盘片上的同一个位置的磁道组成的一个面,是一种逻辑上的概念。
    磁盘数据的读写是按柱面进行的,每次从柱面上的第一个磁头开始读写,
    直到柱面上所有磁头都读写完成,磁盘才移到下一柱面。

数据存取过程

主轴马达转动盘片,机械手臂移动磁头在盘片上方(间距不到1微米)来回移动,磁头读写盘片。

文件编码

计算机只会使用0/1记录数据,那人一般是看不懂的,需要把0/1转换一下,转为人能理解的字码。

所以写入数据时,会把字码根据字码对照表(编码系统)转换为0/1,再存入文件。同理,读取文件时,也是读取一堆0/1数据,转换为字码后,展示到屏幕上。

ASCII

常用的编码表是ASCII码,每个符号(英文、数字、符号)占用1B(8bit),
总共会有2的8次幂种组合,所以这种编码只支持256个字符。

GBK

中文用的最多的编码系统是GBK,是对ASCII码的扩展
GBK会有2的16次幂=65532种组合,理论可以表示6万多个中文。

UTF-8

但是各国的文字都不一样,为了统一编码,
出现了全球统一编码Unicode编码,日常使用UTF-8。

工作流程

计算机工作流程: 数据经过输入单元输入到内存里,cpu读取内存数据,进行处理后,写入内存,然后传给输出单元或者存储在本地硬盘里。

计算单位

计算机使用的计算单位:bit(比特),即单个的0或者1。

  • 之所以用这种单位,是因为计算机是根据有没有通电来记录信息的,通电就是1,没通电就是0。
    不断的通断电,记录一串0/1,就是在记录数据。

  • 由于0/1这个单位太小了,日常记录数据都是成千上万个bit,
    所以一般会使用另一个单位:字节Byte,1个字节=8个比特,即1B=8b。

  • 但是由于Byte也很小,所以更常用的是KB,即1024B,或者MB,即1024KB=1024*1024B。

架构和接口设备

主板上有2个桥接器,北桥连接cpu、内存、显卡,南桥连接硬盘、USB、网卡等。

  • cpu有2个主要单元:算数逻辑单元和控制单元。

  • 算数逻辑单元:主要负责程序运算和逻辑控制。

  • 控制单元:主要用于协调各组件与各单元间的工作。

  • 决定性能的因素:指令集和频率(即每秒可以进行的工作次数)
    cpu的频率分外频和倍频,二者相乘才是cpu的频率。

  • 外频:cpu与外部组件进行数据传输/运算时的速度。

  • 倍频:即内频,cpu内部用来加速工作性能的一个倍数

cpu分32位和64位,怎么理解?

cpu每次能处理的数据量成为字组大小,如果一次能处理32位的数据,就称该cpu是32位的,能处理64bit即64位的cpu。

软件程序运行

要使用计算机,需要工程师编程,写代码操作cpu,调用各种硬件,但是这样做有缺点

  • 计算机只能识别0/1,要使用这种机器码编程,很难。

  • 机器码与cpu的指令集耦合性太强,换个机器,又要重新编写代码,成本太高。

为了解决上诉问题,设计了一些人能看得懂的程序语言

  • c 、java、python等,然后使用编译器将这些语言翻译成机器懂的机器码。

  • 现在有了易懂的编程语言,但是很多功能老是要写一些涉及底层硬件基础交互的重复代码,就很耗时间。

  • 所以将与底层硬件打交道的事情统一封装起来,只暴露相关功能的接口给开发者调用,就方便多了。

这个封装好的程序就是操作系统,包括:

  • 内核:负责驱动硬件,分配cpu资源,管理内存、文件。
  • 一堆开发接口:方便开发者调用内核。
  • 操作系统可以管理计算机所有活动和驱动系统中的所有硬件。
  • 比如让驱动内存读取数据,驱动硬盘读写数据,驱动网卡传输数据等。
  • 这个内核程序开机后常驻在内存中。
  • 现在有了能管理硬件的操作系统。
  • 但是操作系统只是能管理而已,有了操作系统只是准备妥当,
  • 如何管理,如何使用硬件去实现各种功能要靠软件来决定。
  • 所以软件就是开发者参考操作系统提供的接口,做出来让用户操作计算机的东西。

计算机从出现至今,经历了机器语言、程序语言、简单操作系统和Linux、Macos、BSD、Windows等现代操作系统四代,运行速度也得到了极大的提升,第四代计算机的运算速度已经达到几十亿次每秒。计算机也由原来的仅供军事科研使用发展到人人拥有,计算机强大的应用功能,产生了巨大的市场需要,未来计算机性能应向着微型化、网络化、智能化和巨型化的方向发展。

总结:

待完善…

目前很多大佬都写过关于本教程了,如有雷同,请多多包涵.

你可能感兴趣的:(计算机基础知识,基础,计算机基础知识,基础)