java基础(一)计算机、程序和java概述

1.1 引言

java程序员第一步:打好java基础,把基础打牢。工作第一年,给自己的学习之路一个新的开始。

1.2 什么是计算机?

计算机=硬件(CPU+内存+外存+外围输入输出设备+通信设备+总线bus)+软件

1.2.1 中央处理器CPU

一个芯片,上面含有数百万晶体管的小电路开关,它从内存中获取指令,然后执行(控制单元+算术逻辑单元)

每台计算机都有一个内部时钟,以固定速度发射电子脉冲,去同步各种操作的步调。现在基本上到了nGHz的数量级

CPU的核(双核的频率不是两个CPU频率的叠加,是单个CPU的频率):处理器中实现指令读取和执行的部分。现在厂商会生产多核CPU来提高CPU的处理能力,在我个人的理解中,一个CPU有一个CPU频率。

1.2.2 比特和字节——信息在计算机中的存储方式

计算机就是一系列的电路开关,它的存储信息也是一系列的电路开关(1、0),这些开关(1、0)被解释为二进制系统中的数,将它们称为比特。

计算机中的最小存储单位是字节:1字节(byte)=8比特(bit);1KB=1000byte;1MB=1000KB;1GB=1000MB;1TB=1000GB

1.2.3 内存

java基础(一)计算机、程序和java概述_第1张图片

它长这样。

是由一个有序的字节序列组成,用于存储程序及程序需要的数据。每个字节都有唯一的地址,而且内存中的地址永远非空,原始内容一般毫无意义,一旦新的信息被放入内存,该字节当前内容就会丢失。是一个随机访问存储器(RAM),一种易失的数据保存形式,断电就会失去。

1.2.4 存储设备

区别于内存,存储设备是一个可以永久存储数据的设备(断电也可以存储数据),但CPU的对存储设备读取速度要远慢于RAM。

常见的存储设备有:硬盘(磁盘)、CD(只读CD-ROM、可录一次写入多次读取CD-R、可复写CD-RW)单张CD容量可达700MB、DVD(与CD的区别是存储容量4.7GB,有:可录DVD-R、可复写、DVD-RW)、USB

1.2.5 输入和输出设备

键盘、鼠标、显示器、通信设备

1.3 编程语言

1.3.1 机器语言

计算机的原生语言就是机器语言,内嵌的基本指令集(以二进制代码的形式存在:1101101010011010)

1.3.2 汇编语言

汇编语言使用助记符代替机器语言,一一对应,使用汇编器转化效率高,但它逻辑较难,并且是机器相关(不同类型计算机汇编不同)。

1.3.3 高级语言

平台独立的,计算机不能不能运行源程序,可以用解释器输出。

1.4 操作系统(OS)

操作系统是运行在计算机上最重要的程序,可以管理和控制计算机的活动(Microsoft Windows、Mac OS以及Linux)主要工作有:控制和监视系统活动、分配和调配系统资源、调度操作

1.4.1 控制和监视系统活动

监视各种外围设备的活动并进行反应和其他操作系统执行基本的任务,还有安全处理。

1.4.2 分配和调配系统资源

OS负责确定一个程序需要使用哪些计算机资源,并进行资源分配以运行程序

1.4.3 调度操作

多道程序设计(例如QQ和PS同时运行):多个程序通过共享同一个CPU同时运行,因为CPU的速度比其他组件快得多,所以多数时间处于空闲状态(等待数据传入内存、其他系统资源响应)利用这一特点,允许多个程序同时使用CPU,CPU一空闲就让别的程序使用它。

多线程:允许单个程序同时执行多个任务(比如QQ开了多个聊天窗口),同意程序的两个任务并行。

多处理:类似于多线程,单多处理是采用多个处理器来并行运行多个程序。

1.5 Java语言规范、API、JDK、JRE、IDE

Java语言规范:定义了Java的语法

Java库:在Java应用程序接口(API)中定义,java中的库,可以对其进行调用

JDK:用于开发和运行Java程序的软件(由一组独立程序构成,每个程序都是从命令行调用的,用于编译、运行和测试Java程序)其中运行java程序的那个程序称为JRE(Java Runtime Environment)

IDE:快速开发程序的集成开发环境。

1.6 创建、编译和执行Java程序

Java源程序保存为.java文件,编译为.class文件。.class文件由Java虚拟机(JVM)执行(运行程序JRE)。

运行java文件的过程:源文件->Java编译器->成为Java字节码可执行文件->JVM执行(解释器)

在运行一个 Java程序时,JVM首先会用一个称为类加载器(class loader)的程序将类的字节码加载到内存中,在加载类后,JVM使用一个称为字节码验证器的程序来检验字节码的合法性,确保字节码没有违反java的安全规范,防止危害计算机。

你可能感兴趣的:(JAVA,基础学习)