穿越 java | 快速入门篇 - 第1节 计算机基础知识
主题:计算机基础知识
- 开发环境
- 更多干货
- 定义
- 作用
- 组成元件
- CPU
- 内存
- cpu里的高速缓存
- BIOS软件(基础输入输出系统)
- CMOS芯片
- 机械硬盘
- 组成
- 数据存取过程
- 文件编码
- ASCII
- GBK
- UTF-8
- 工作流程
- 计算单位
- 架构和接口设备
- 软件程序运行
- 总结:
开发环境
基于:IntelliJ IDEA
、Maven构建工具
、JDK1.8
、Spring4.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等现代操作系统四代,运行速度也得到了极大的提升,第四代计算机的运算速度已经达到几十亿次每秒。计算机也由原来的仅供军事科研使用发展到人人拥有,计算机强大的应用功能,产生了巨大的市场需要,未来计算机性能应向着微型化、网络化、智能化和巨型化的方向发展。
总结:
待完善…
目前很多大佬都写过关于本教程了,如有雷同,请多多包涵.
穿越 java | 快速入门篇 - 第1节 计算机基础知识相关推荐
- 这样学还不会?小白入门编程第1讲 计算机基础知识 JAVA基础知识 必看
1 计算机基础知识 1.1计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理数据的现代化智能电子设备.常见的形式有台式计算机.笔记本计算机.按照规模分 ...
- 码农之路从入门到放弃之:计算机基础知识
从入门到放弃 计算机基础知识 计算机概述 计算机组成部分 1.硬件部分: 2.软件部分 操作系统(OperatingSystem) 1.windows 简介 1.1.windows--优点 1.2.w ...
- Linux操作系统快速入门|Linux操作系统(一)基础知识
Linux操作系统(一)基础知识 linux官方网站:https://www.linux.org/ linux中国:https://linux.cn/ 前言 准备把以前在知乎上写的一些文 ...
- 快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令
之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...
- 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一
点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一 今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...
- Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)
<Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探索了. ++++作为游戏发布迭代的重要技术:Lu ...
- Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)
<Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...
- Java快速入门-01-基础篇
Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
最新文章
- 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
- 分布式部署Zabbix监控平台
- android 线程太多,应用程序可能在其主线程上做了太多的工作。
- 基于python的图片修复程序-可用于水印去除
- 54 SD配置-定价配置-分配条件类型到条件排斥组
- 100级大橙武升级流程_DNF:女气功升级100级无暇手套,前后伤害对比。
- go的实现接口的一个小demo
- 实战!轻松搭建图像分类 AI 服务
- 方差公式初三_初中数学,一元二次方程的解法:公式法、因式分解法和十字相乘法基础练习...
- [蓝桥杯]试题 基础练习 Huffuman树
- android修改代码后运行不生效,Android Studio使用Kotlin时,修改代码后运行不生效问题...
- 33.go 错误处理
- Dll注入技术之驱动注入
- C语言题目:输入角度a,输出a的正弦值(sin a)
- zte服务器安装linux,ZTE MF637U 在linux下安装全攻略
- 在语雀中输入汉语拼音
- qq浏览器无小程序版本号与服务器不符,QQ浏览器发力小程序,同时兼容适配微信小程序...
- 如何开展兼容性测试?兼容性测试有什么作用?
- css3的媒体查询(Media Queries)
- 用python进行数据分析葡萄酒,哪里最好