摘要:
一、面向过程 面向过程是把数据和过程独立分开思考,数据是客体,过程是程序处理数据的过程。 二、面向对象 面向对象是从现实角度出发,将数据和行为作为对象的一部分。 面向对象的特性是:封装、继承、多态。 阅读全文
摘要:
一、线程调度 线程调度就是操作系统为线程分配处理器使用权的过程。 二、线程调度方式 1. 协同式(Cooperative threads-scheduling) 协同式是指线程的切换是线程自己控制,也就是说线程执行完成后主动通知切换到另一条线程执行。 协同式调度的好处: 实现简单,线程的切换是线程可 阅读全文
摘要:
一、线程是什么 线程是比进程更轻量的调度单位,线程可以共享进程资源(内存地址、文件I/O等),又可以独自调度。 Java中,线程是处理器执行调度的最基本单位。 主流操作系统都提供了线程实现,Java语言提供了不同操作系统平台和不同硬件下对线程的同一处理。 二、线程分类 1. 内核线程 内核线程(Ke 阅读全文
摘要:
一、原子性 原子性是指一个操作或者多个操作全部执行并且不会被打断,要么全部不执行。Java内存模型保证read、load、use、assign、store、write六种操作是原子操作,也可以认为Java的基本数据类型也具备原子性(double和float除外,这种除外几乎不会发生,开发中可以不用考 阅读全文
摘要:
volatile关键字的作用 volatile关键字是Java虚拟机提供的最轻量级的同步机制,volatile具有可见性和有序性,但是,不具有原子性特性。 Java中提供的操作运算符不具有原子性。 看下面例子: public class Main { public static volatile i 阅读全文