您正在学习的是试看内容,报名后可学习全部内容 报名课程
人气值 1.2k

Java基础教程: 手写JDK线程池 Executor

一 系列课程介绍

《Java基础教程》系列课程会包括Java程序最核心、最本质的内容: 手写JDK、JVM实战调优、真实开源项目中的设计模式等。课程的出发点是一切从实战出发、从实际项目出发,因为单纯的理论描述是割裂的,也是记不住的,而知识必须在实际项目中,在完整的上下文语境,有特定的用法,必然需要一个综合性的案例,知识才能多角度的映射到脑海。毕竟,如果是讲文档,或者讲理论,那还不如去看API。

从教育理论来说,知识结构决定了行为水平,而贫瘠的知识结构会导致粗陋的代码,比如xx天掌握xx语言,xx天掌握xx服务,如果是靠着这些长大会难免会营养不良。为什么没有提高,因为每天接触到的都是低级,缺乏一些语言最本质的内容,比如说如何自己设计一门语言,如何设计其中的API等。所以本系列课程会尽量突出本质,以补全教育中缺失的一环。

本系列课程会持续增加,但价格为目前课程总数,所以,越早报越优惠,当然,也可以单独报名。但请务必加入微信群,讲座时间更新,课程内容也可能会更新,而且讲座半价券会先发到群里,同时,讲座资料会在群里发放。

二 本讲座简介

在 Java 5 之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor 框架便是 Java 5 中引入的,其内部使用了线程池机制,它在 java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在 Java 5之后,通过 Executor 来启动线程比使用 Thread 的 start 方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免 this 逃逸问题——如果我们在构造器中启动一个线程,因为另一个任务可能会在构造器结束之前开始执行,此时可能会访问到初始化了一半的对象用 Executor 在构造器中。本课程会从源码的角度出发,写一个简单的Executor

三 内容大纲

  1. 阿里规约讲解(禁止使用CachedThreadPool)
  2. 线程池源码实现

四 面向人群

初、中级后端开发

五 目标

理解、掌握JDK的底层原理