Loading

摘要: 如果我们把字节码看作是程序语言的一种中间表示形式(Intermediate Representation,IR)的话,那编译器无论在何时、在何种状态下把 Class 文件转换成与本地基础设施(硬件指令集、操作系统)相关的二进制机器码,它都可以视为整个编译过程的后端。 本章中所提及的即时编译器都是特指 阅读全文
posted @ 2021-05-21 15:27 tree6x7 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 1. 线程安全说明 1.1 定义 笔者认为《Java 并发编程实战(Java Concurrency In Practice)》的作者 Brian Goetz 为“线程安全”做出了一个比较恰当的定义: “当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额 阅读全文
posted @ 2021-05-21 12:10 tree6x7 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1. 同步器 1.1 CountDownLatch 当一个或多个线程调用 await() 时,这些线程会阻塞; 其它线程调用 countDown() 会将计数器减 1(调用该方法的线程不会阻塞); 当计数器的值变为 0 时(减少计数),因 await() 阻塞的线程会被唤醒,继续执行。 public 阅读全文
posted @ 2021-05-21 12:04 tree6x7 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1. 引入 1.1 进程和线程 【进程】进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 【线程】通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程 阅读全文
posted @ 2021-05-21 12:00 tree6x7 阅读(55) 评论(0) 推荐(0) 编辑