第一行代码 Hello world 背后的逻辑
计算机俗称电脑,只不过它是一种通过通电来模拟人脑的工具,是一种可以进行数学、逻辑运算,还具有存储记忆功能的智能设备,目前是人类的小助手。计算机是以为人类服务为宗旨的。我们人类希望计算机以后能真的像人一样去工作,从而解放人力,这是对计算机的终极目标。 记得上大学时第一门接触的语言是C语言,后来又陆续接触到Java,Php,Python,Go等,入门的第一行代码都是hello world,但是,你真的了解hello world是如何产生的吗?下面我们来一起探讨下Java语言第一行代码是如何执行的,当然,在这之前,我们需要提前了解以下小知识
1.计算机硬件知识
2.计算机操作系统知识
3.计算机语言发展史
4.JVM(Java Virtual Machine) java虚拟机
下面我们一起聊下这几个知识点:
1. 计算机硬件知识
1.1 计算机硬件组成
1.1.1 控制器
是计算机的指挥系统,负责控制计算机其他硬件的运行,相当于人的大脑
1.1.2 运算器
包括数学运算和逻辑运算,相当于人的大脑
控制器+运算器=CPU(central processing unit 中央处理器)
1.1.3 存储器
1.1.3.1 内存(主存)
如内存条(又称随机存储器),存取速度快,但是基于电工作,一旦断电数据就丢失,只能临时存储。类似于人的记忆功能,容易断片。
1.1.3.2 外存
如硬盘,存取速度相对内存很慢,数据可以近似“永久”保存。类似于使用的笔记本
1.1.4 输入设备(Input)
计算机接收外界输入数据的工具,如键盘、鼠标等
1.1.5 输出设备(Output)
计算机向外输出数据的工具,如显示屏、打印机等
1.2 CPU、存储器 之间的关系
CPU:负责运行人类的程序,人们通过程序控制CPU,再通过CPU控制计算机其他硬件,其存取的数据指令都来自于内存,由于内存只能保存临时数据,而CPU必须通过内存读取数据,故电脑在开机的时候会将部分数据从硬盘加载到内存 。
1.3 计算机分代
1.3.1 第一代计算机
真空管和穿孔卡片(真空管易烧断、浪费计算机资源、串行)
1.3.2 第二代计算机(大型机)
晶体管和批处理系统(晶体管提高了计算机的可靠性)
1.3.3 第三代计算机
集成电路芯片和多道程序设计技术 ( 不再需要人的参与,解决了人参与的耗时问题,基于通道技术实现了CPU和IO设备的并行)
1.3.4 第四代计算机
大规模集成电路芯片,微处理器的发明导致了个人计算机(微型计算机)的普及
由于计算机越来越普及,让操作系统的存在存在了重要意义,它隐藏了丑陋复杂的硬件接口,并提供管理、调度进程,将多线程对硬件的竞争变得更加有序。
2、操作系统
2.1 操作系统
能够控制,协调、管理计算机硬件资源和应用软件资源的一类控制程序。现流行的操作系统有:Windows、Linux、Mac等
2.2 操作系统的意义
控制计算机硬件的基本运行,将计算机硬件复杂的操作细节封装成简单一致的接口(功能)供上层应用软件或用户使用
2.3 程序、进程、线程的区别
2.3.1 程序
是一组计算机语言编写的指令的有序集合