- 博客(5)
- 收藏
- 关注
原创 聊聊并发:(十九)ThreadPoolExecutor线程池原理分析
前言在之前的文章中,我们陆续对concurrent包中的主要的常用类,依次对其原理进行分析,本篇,作为本系列文章的收尾,我们来聊一下并发场景下最为常用的工具——线程池。ThreadPoolExecutor概述当我们需要使用线程的时候,可以直接通过Thread实现,但是频繁的手动去创建线程,会带来很大的资源消耗,因此,我们这时候更应该考虑使用线程池。线程池可以为我们带来的好处:1、降低系统...
2019-03-24 13:16:08 757
转载 Linux服务器Java进程突然消失排查办法
问题描述在实际生产环境下,如果我们遇见Java进程突然消失,该如何去排查问题?思路可能有几种原因:①、Java应用程序的问题:发生OOM导致进程Crash最常见的是发生堆内存异常“java.lang.OutOfMemoryError: Java heap space”,排查步骤如下:Step1: 查看JVM参数 -XX:+HeapDumpOnOutOfMemoryError 和 -X...
2019-03-18 16:03:03 6390 1
原创 聊聊并发:(十八)ThreadLocal分析
前言在前面的文章中,我们陆续对concurrent包中的常用类进行了依次介绍,涵盖范围包括各种锁、并发容器、队列,理解这些类的作用以及原理,可以帮助我们更好的应对并发场景下带来的挑战,如果您还对其中哪些类的实现不太熟悉,建议您阅读一下之前的文章。本篇,我们来介绍一下ThreadLocal的作用及其原理,基于JDK1.8。ThreadLocal介绍ThreadLocal是线程内部的数据存储类...
2019-03-17 11:55:46 308
原创 聊聊并发:(十七)concurrent包并发容器之Queue、BlockingQueue队列原理分析
LinkedBlockingQueue、ArrayBlockingQueue、SynchronousQueue等阻塞队列原理分析前言在上一篇中,我们了解了ConcurrentHashMap的实现机制,本篇,我们聊了聊在日常开发场景下非常常用的阻塞队列的实现机制。阻塞队列介绍在concurrent包中,提供了多种BlockingQueue的实现,这里我们对比较常用的几个:LinkedBloc...
2019-03-15 16:41:56 679
原创 聊聊并发:(十六)concurrent包并发容器之ConcurrentHashMap分析
前言在上一篇文章,我们介绍了concurrent包中的并发集合:CopyOnWriteArrayList,本篇,我们继续了解学习一下另外一个非常常用也是非常重要的一个并发容器:ConcurrentHashMap。ConcurrentHashMap介绍ConcurrnetHashMap是HashMap线程安全版本的实现,阅读本文的朋友,我先假定您对HashMap的使用已经非常的了解了,如果不太...
2019-03-10 11:47:33 445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人