线程池面试必考

Java34

你对Java线程池了解吗?你有用过线程池吗?那先说下线程池核心参数吧。。。对不起,我回去再看看吧。

为了得体,今天让我们来整理一下面试线索池中的几个面试问题。

[En]

In order to be decent, let's sort out a few interview questions in the interview thread pool today.

为什么要用线程池?

你说下线程池核心参数?

  • corePoolSize : 核心线程大小。线程池一直运行,核心线程就不会停止。
  • maximumPoolSize :线程池最大线程数量。非核心线程数量=maximumPoolSize-corePoolSize
  • keepAliveTime :非核心线程的心跳时间。如果非核心线程在keepAliveTime内没有运行任务,非核心线程会消亡。
  • workQueue :阻塞队列。ArrayBlockingQueue,LinkedBlockingQueue等,用来存放线程任务。
  • defaultHandler :饱和策略。
  • ThreadFactory :线程工厂。新建线程工厂。

execute任务添加流程?

饱和策略知道吗?

上图我们说过,当线程数量大于maximumPoolSize,就会执行饱和策略。ThreadPoolExecutor类中一共有4种饱和策略。通过实现 RejectedExecutionHandler接口。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

TypeScript(6)函数

函数 函数是 JavaScript 应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块。在 TypeScript 里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。Type...
Java

poi导出word文件(带表格)

一.背景介绍 现有业务需求根据前端页面上所选的时间和列,来生成word表格,方便打印。 一.POM <dependency>   <groupId>...
Java

多线程相关知识整理

java内存区域和内存模型是不一样的东西,内存区域是指Jvm运行时将数据分区存储,强调对内存空间的划分。而内存模型是定义了线程和主内存之间的关系,即JVM在计算内存中的工作方式,如果我们想要深入了解J...
Java

MySQL 锁常见知识点&面试题总结

节选自 《MySQL 常见知识点&面试题总结》 表级锁和行级锁了解吗?有什么区别? MyISAM 仅仅支持表级锁(table-level locking),一锁就锁整张表,这在并发写的情况下性...
Java

Java 15 新特性:隐藏类

什么是隐藏类 隐藏类是不能由其他类直接使用的类。引入隐藏类的主要目的是供框架使用,以便框架可以在运行时生成类,并通过反射间接使用它们。这可能有点抽象,不要紧,让我们用一个例子直观地理解它![En]A ...
Java

恐怖的Hibernate和JavaFX Table CallBack!

最近在做 JavaFX 应用,不管再怎么避免数据持久化,但面对几十万的数据量的时候也只能乖乖的去配置持久层框架了。 一开始打算还是使用Mybatis,我在做Web的时候就是一只用Mybatis框架,而...
Java

自己动手实现一个阻塞队列

1. 阻塞队列介绍 顾名思义,阻塞队列是一个具备先进先出特性的队列结构,从队列末尾插入数据,从队列头部取出数据。而阻塞队列与普通队列的最大不同在于阻塞队列提供了阻塞式的同步插入、取出数据的功能(阻塞入...
Java

如何生成一个java文档

如何生成一个java文档 众所周知,一个程序给别人看可能可以看懂,几万行程序就不一定了。在更多的时候,我们并不需要让别人知道我们的程序是怎么写的,只需要告诉他们怎么用的。那么,api文档就发挥了它的作...
Java

设计模式之迭代器模式

本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以Jdk源码集合中使用迭代器模式的应用进一步说明,最后说明...
Java

打工四年总结的数据库知识点

国庆节在家里很无聊。我在家里翻阅了与数据库相关的书籍,我对它上瘾了。因为我忘记了一些大学熟悉的数据库范例,我好奇地读了一点国庆节。[En]The National Day was boring at ...