走过操做系统的世界来到Java面前

1、完成一个任务须要什么?

时间 + 资源 + 处理能力操作系统

时间就是时间。线程

资源就是资源。进程

处理能力就是可以利用时间和资源完成任务的主体。内存

2、关于操做系统

处理能力就是cpu。资源

资源就是存储。虚拟机

时间就是cpu的时间。入门

cpu的处理能力:很快很快。多进程

cpu须要获取存储资源:这个过程咱们称之为IO,IO很快,可是和cpu相比,它很慢,很慢。程序

因此,cpu

就像一个思想快于嘴巴的人,想要表达的时候,一般都会加上肢体语言,好比手势,身体。

它能够同时处理这许多方面的动做。

3、关于任务

任务在操做系统的世界里,一般对应一个进程,这是cpu处理能力的基本单位。

进程执行期间,须要IO,咱们说过IO相对于cpu的处理能力来讲,很慢,因此,若是只有一个进程,那么它IO的时候,cpu只能闲着。

闲着就是浪费。

这不符合咱们的指望。

因此。

咱们有了多进程,多任务同时执行。

这样,一个进程IO的时候,就可让渡cpu时间给其它的进程,等待IO完成,而后从新等待cpu时间继续执行。

固然,咱们也须要知悉,这个同时并非所谓的同时。

4、关于时间

时间是进程执行的时间。

时间也是cpu输出计算能力的时间。

多进程之间须要让渡时间,那么就须要有个最基本的时间单位。

咱们称之为时间碎片。

5、关于进程

不一样进程之间相互独立。

各自加载各自的资源。

各自利用分配给本身的cpu时间碎片来执行任务。

咱们知道,

一个任务可大可小,有复杂有简单。

按照咱们一般思惟。

此时,一般会有分治。

是的,进程会对任务进行分解,一个大任务分解成不少的小任务。

而执行这些小任务的基本单位,就是线程。

6、关于线程

线程是计算机世界里最基本的执行单元。

咱们说过,进程之间会有时间碎片的调度。

一样,在一个进程内部,一样有不一样线程之间的调度。

线程对于进程来讲,内部资源共享。

因此线程之间,需求的是协做。

线程,也是系统的线程。

7、关于JAVA

Java是一个跨平台的语言。

因此能跨平台,是由于它有一个统一的运行空间。

本身创造的统一的运行空间,Java虚拟机-JVM。

虚拟机构造了本身的内存模型,

也有线程。

固然,这个线程不一样于系统中的线程。

Java程序的任务调度,皆是基于Java的线程调度。

8、关于Java线程

JVM内存模型中最近本的连个单元,堆和栈。

堆是共享堆,栈是线程栈。

线程栈也是线程私有栈。

 

好了,到此为止,入门完毕。

相关文章
相关标签/搜索