最近看了下Java线程池的源码,ExecutorService里面关于shutdown和shutdownNow的注释不太能理解啥意思。 直接翻译字面意思是,开启一个有序的关闭,先前提交的任务会被执行,但不接受新任务。如果已关闭,则调用不会产生任何其他影响。但是这个方法不会等待已提交任务完成执行。 这 ...
分类:
其他好文 时间:
2020-05-23 20:22:22
阅读次数:
249
一. 介绍 平时工作中可能会碰到排查多线程的bug,而在排查的时候,如果线程(单个线程或者是线程池的线程)没有一个比较明确的名称,那么在排查的时候就比较头疼,因为排查问题首先需要找出“问题线程”,如果连“问题线程”都找不到,就很难找出问题原因,本文就针对多线程中涉及到的线程池、线程组、线程名称,介绍 ...
分类:
编程语言 时间:
2020-05-23 18:21:00
阅读次数:
46
线程池 线程池 - 如果每一个请求对应一个线程,那么会导致线程大量的创建和销 毁。减少线程的创建和销毁,希望能够重复使用已有的线程,有了线程 池 存储线程的队列 特点: 线程池在创建的时候里面是没有线程的。 当过来请求的时候,就会线程池中创建一个线程来处理这个请求。当 请求处理完毕的时候,线程就会还 ...
分类:
编程语言 时间:
2020-05-23 16:13:28
阅读次数:
41
前面给大家分享了一篇字节跳动拿下offer的面经,很多小伙伴都私信我说收获很大,感兴趣的朋友可以回头去看看。很多小伙伴还问我有没有其他大厂的面试题分享,这不他来啦,阿里2020春招面试题给大家整理在下面了!一面:1.触发新生代GC,如果存活对象总量大于survivor区容量,咋办2.如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域3.栈在堆上吗4.GCroot有哪些5.实例变量可以是GCroot
分类:
编程语言 时间:
2020-05-22 19:32:56
阅读次数:
296
ExecutorService中的 submit方法可以 Future<?> submit(Runnable task) 提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。 恢复内容开始 java.util.concurrent里的接口Executors里面的静态方法 ...
分类:
编程语言 时间:
2020-05-21 21:21:58
阅读次数:
61
xxljob中终止定时任务的方式是通过Thread.interrupt()+处理中断异常的方式强制终止任务的。所以单纯的线程只要进行阻塞操作就可以实现终止。 但是代码里已经遍布了ThreadPoolExecutor创建出来的线程池,尝试各种方式线程内部都不能感受到外部线程的interrupt,尝试了 ...
分类:
其他好文 时间:
2020-05-20 18:54:57
阅读次数:
354
线程池的参数 创建线程的方式 如何暂停线程,有几种方式 线程之间的通讯 线程中什么是原子性、什么是可见性、什么是有序性? Volatile是如何实现可见性的? AQS中共享锁有哪些?独占锁有哪些 synchronized 关键字有几种用法? synchronized 的缺点有哪些? 静态方法和非静态 ...
分类:
编程语言 时间:
2020-05-19 22:56:32
阅读次数:
104
Java 中的线程池(ThreadPoolExecutor)我们都知道(不知道请自行搜索),它的执行机制简单讲就是多个线程不停的从队列里面取任务执行。但是我们可能遇到下面这样的场景: 我有一批数据要通过线程池来处理,处理过程中需要调用某个远程服务。但该服务存在调用频率限制,比如每秒钟最多调用 50 ...
分类:
编程语言 时间:
2020-05-19 17:54:23
阅读次数:
58
工作相关使用到的JDK类及其相关源码、机制 设计模式,设计模式在工作中用到了哪些,具体使用场景 并发类的相关知识,线程安全、锁机制、信号量、闭锁、栅栏、线程池等 框架相关,Spring相关机制、Spring MVC相关机制、MyBatis相关机制、使用的细节点、框架实现原理等 JVM,内存布局、垃圾 ...
分类:
其他好文 时间:
2020-05-18 19:11:17
阅读次数:
66
## java最新面试题2020# 一面 1. “Spark还有Ruby啊,会的挺多,既然你啥都会点咱们就不局限于Java了”2. 聊了聊美团实习的项目,聊到了Spark,然后说到了Spark相对于MapReduce的改进,然后3. “Spark熟吗”4. “那你这个需求怎么做的”5. “那咱们就从... ...
分类:
编程语言 时间:
2020-05-18 14:31:41
阅读次数:
162