冬天里的懒猫

LV0
发表了文章

Callable and Future in Java(java中的Callable和Future)

通常,我们有两种方式创建线程,一种方式是继承Thread类,另外一种方式是实现Runnable接口。然而,Runnable方式缺少的一个特性就是,当线程终止的时...

冬天里的懒猫
发表了文章

java线程池(六):ForkJoinPool源码分析之二(WorkQueue源码)

在前面介绍了ForkJoinPool的骨架源码之后,我们来看看ForkJoinPool的核心组成。WorkQueue的源码。

冬天里的懒猫
发表了文章

java线程池(五):ForkJoinPool源码分析之一(外部提交及worker执行过程)

在前文中介绍了如何使用ForkJoinPool和ForkJoin的一些基本原理。现在继续来分析ForkJoin,原本计划从源码开始分析。但是ForkJoinPo...

冬天里的懒猫
发表了文章

java线程池(四):ForkJoinPool的使用及基本原理

在前面学习了ThreadpoolExecutor线程池之后,我们知道,ThreadPoolExecutor实际上是AbstractExecutorSer...

冬天里的懒猫
发表了文章

A Java Fork/Join Framework(Doug Lea 关于java Fork/Join框架的论文翻译)

Doug Lea State University of New York at Oswego Oswego NY 13126 315−341−2688...

冬天里的懒猫
发表了文章

多线程基础(十二):Thread优先级分析

在前面学习Thread源码的时候,提到了Thread可以设置优先级。其优先级通过setPriority方法进行设置。

冬天里的懒猫
发表了文章

多线程基础(十一):interrupt深度分析

在前面学习ThreadPoolExecutor的时候,我们知道,当线程池中的线程数量大于核心线程数的时候,或者开启了allowCoreThreadTimeOut...

冬天里的懒猫
发表了文章

java线程池(三):ThreadPoolExecutor源码分析

在前面分析了Executors工厂方法类之后,我们来看看AbstractExecutorService的最主要的一种实现类,ThreadpoolExecutor...

冬天里的懒猫
发表了文章

java线程池(二):聊聊newFixedThreadPool(1)和newSingleThreadExecutor()的区别

在第一部分中介绍完java中Executors的线程池创建的方式之后,实际上有一个非常好奇的问题。既然newFixedThreadPool(1)也能保证...

冬天里的懒猫
发表了文章

java线程池(一):java线程池基本使用及Executors

在前面学习线程组的时候就提到过线程池。实际上线程组在我们的日常工作中已经不太会用到,但是线程池恰恰相反,是我们日常工作中必不可少的工具之一。现在开始对线...

冬天里的懒猫
发表了文章

一道多线程协同面试题的三种解决方案

这个题目实际上是在考察线程间协调。鉴于前面学习的线程间通信的三种方法,现在用三种方法来完成该问题。

冬天里的懒猫
发表了文章

多线程基础(十):LockSupport源码及其使用

在前面学习过java线程间通信的几种方式,分别是synchronized结合wait/notify。以及ReentrantLock结合Condation...

冬天里的懒猫
发表了文章

多线程基础(九):守护线程、yield、join及线程组

不经意间都已经在上一篇文章中聊到ReentrantLock了,但是回头一看,关于多线程基础的内容还有很多没涉及2到,而ReentrantLock却是属于...

冬天里的懒猫
发表了文章

在java中notify和notifyAll的区别

notify()和notifyAll()以及wait()方法用于线程间的通信。通过调用wait()方法进入WaitSet的线程会一直处于WAITING状态,直到...

冬天里的懒猫
发表了文章

多线程基础(八):ReentrantLock的使用及与synchronized的区别

还记得,前面一篇文章《什么?面试官让我用ArrayList实现一个阻塞队列?》中,描述了一个关于实现两个线程交替打印以及实现阻塞队列的例子,那么今天,我们来看看...

冬天里的懒猫
发表了文章

在java中boolean类型占多少字节?

在一些资料上都有上述介绍。对于其他类型都好理解,唯独对于boolean,长度一直没有很好的说明。我们来看看jvm中是如何实现的。

冬天里的懒猫
发表了文章

多线程基础(七):关于HotSpot中notify方法不具备随机性的证明

在前面关于wait/notify及notifyAll方法的时候,notify在源码的注释中说到notify选择唤醒的线程是任意的,但是依赖于具体实现的j...

冬天里的懒猫
发表了文章

多线程基础(六):Object的wait方法以及notify与notifyAll的区别

还记得前面用ArrayList实现阻塞队列的文章:《 什么?面试官让我用ArrayList实现一个阻塞队列?》。我们通过synchronized并配合w...

冬天里的懒猫
发表了文章

java1.8中Object类源码分析

Object类是一切类的超类,在类继承的树形结构上,Object是所有类的根节点。所有的对象,包括数据,都继承了Object类的方法。我们来看看Object类有...

冬天里的懒猫
发表了文章

多线程基础(五):java对象的MarkWord及synchronized锁升级过程

在前面聊过了如何使用synchronized,以及synchronized不同的加锁方式分别锁的是哪些对象。本文对synchronized底层的原理进行深层次的...

冬天里的懒猫

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券