标签:ThreadPoolExecutor

Java

Java并发——ScheduledThreadPoolExecutor分析

1

puefu.he 发布于 2018-12-19

从图中我们可以看到ScheduledThreadPoolExecutor继承ThreadPoolExecutor实现了ScheduledExecutorService接口。它相当于提供了"延迟"和"周期执行"功能的ThreadPoolExe...

阅读(2)评论(0)赞 (0)

Java

为什么阿里巴巴禁止把SimpleDateFormat定义为static类型的?

6

hellas 发布于 2018-12-17

在日常开发中,我们经常会用到时间,我们有很多办法在Java代码中获取时间。但是不同的方法获取到的时间的格式都不尽相同,这时候就需要一种格式化工具,把时间显示成我们需要的格式。 最常用的方法就是使用SimpleDateFormat类。这是一个看上去功能比较简单的类,但是,一旦使用不...

阅读(21)评论(0)赞 (0)

Java

死磕java concurrent包系列(六)基于AQS解析信号量Semaphore

3

darida 发布于 2018-12-13

之前分析AQS的时候,内部有两种模式,独占模式和共享模式,前面的ReentrantLock都是使用独占模式,而Semaphore同样作为一个基于AQS实现的并发组件,它是基于共享模式实现的,我们先看看它的使用场景 Semaphore共享锁的基本使用 假设有20个人去银行柜面办理业...

阅读(23)评论(0)赞 (0)

Java

打通 Java 任督二脉 —— 并发数据结构的基石

12

刘莉莉 发布于 2018-12-13

每一个 Java 的高级程序员在体验过多线程程序开发之后,都需要问自己一个问题,Java 内置的锁是如何实现的?最常用的最简单的锁要数 ReentrantLock,使用它加锁时如果没有立即加成功,就会阻塞当前的线程等待其它线程释放锁之后再重新尝试加锁,那线程是如何实现阻塞自己的?...

阅读(24)评论(0)赞 (0)

Java

Java线程池

hellas 发布于 2018-12-10

Java线程池( java.util.concurrent.ThreadPoolExecutor )实现了接口 java.util.concurrent.ExecutorService ,将线程资源缓存起来,实现了线程的复用。 示例代码 package bj; import io...

阅读(33)评论(0)赞 (0)

Spring

一个离奇的 ArrayIndexOutOfBoundsException 异常的排查过程

1

小丁 发布于 2018-12-07

今天同事遇到了一个离奇的ArrayIndexOutOfBoundsException,找我协助定位,定位的过程很有意思,故而记录一下。 先按时序复盘一下 项目原先可正常运行。 没有修改任何依赖的情况下,从另一个项目移植了工具类 BeanValidationUtil 后,报如下异常...

阅读(52)评论(0)赞 (0)

Java

从源码角度深入理解OKHttp3

6

xirruiqiang 发布于 2018-12-01

在日常开发中网络请求是很常见的功能。OkHttp作为Android开发中最常用的网络请求框架,在Android开发中我们经常结合retrofit一起使用,俗话说得好:“知其然知其所以然”,所以这篇文章我们通过源码来深入理解OKHttp3(基于3.12版本) 常规使用 在了解源码前...

阅读(38)评论(0)赞 (0)

Java

【备战春招/秋招系列】美团Java面经总结终结篇 (附详解答案)

5

zhuangli 发布于 2018-11-28

该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 14 k)。地址: github.com/Snailclimb/… . 系列文章: 【备战春招/秋招系列1】程序员的简历就该这样写 【备战春招/秋招系列2】初出...

阅读(38)评论(0)赞 (0)

Java

Java核心(二)深入理解线程池ThreadPool

6

xirruiqiang 发布于 2018-11-21

本文你将获得以下信息: 线程池源码解读 线程池执行流程分析 带返回值的线程池实现 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。 一、线程池优点 线程池能够更加充分...

阅读(41)评论(0)赞 (0)

Java

浅析okHttp3的网络请求流程

1

likai 发布于 2018-11-21

okHttp目前可以称的上是Android主流网络框架,甚至连谷歌官方也将网络请求的实现替换成okHttp. 网上也有很多人对okHttp的源码进行了分析,不过基于每个人的分析思路都不尽相同,读者看起来的收获也各不相同,所以我还是整理了下思路,写了点自己的分析感悟。 本文基于 o...

阅读(38)评论(0)赞 (0)

Java

OkHttp3.0解析——谈谈内部任务分发器dispatcher

2

xubiao.zhuang 发布于 2018-11-19

OkHttp之所以能够高效处理任务的一个很重要原因在于其内部维护了三个任务队列(readyAsyncCalls、runningAsyncCalls、runningSyncCalls)和一个线程池(ThreadPoolExecutor)。这四个东西由内部的任务分发器dispathc...

阅读(60)评论(0)赞 (0)

Java

Java Agent的隔离实现以及卸载时一些坑

2

Harries 发布于 2018-11-17

在《一文带你了解Java Agent》中,让大家了解了Java Agent的来龙去脉,当通过attach方式去动态加载一个Java Agent时,Agent中的类会被加载到业务的虚拟机中,在使用完Agent的之后,如果想卸载这些无用的类,怎么实现? 这里就涉及到如何回收Perm区...

阅读(48)评论(0)赞 (0)

Java

Android技能树 — 网络小结之 OkHttp超超超超超超超详细解析

37

hellas 发布于 2018-11-13

本文也做了一次标题党,哈哈,其实写的还是很水,各位原谅我O(∩_∩)O。 介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看,最好可以指出我的错误,让我也能纠正。 1.讲解相关的整个网络体系结构: 网络体系结构小...

阅读(46)评论(0)赞 (0)

Java

高并发'大杀器'异步化、并行化

10

yeseng 发布于 2018-11-13

编辑推荐: 本文来自于51cto,文章从异步化和并行化两个方案中给大家介绍如何处理架构设计中的高并发这个问题。 高并发的大杀器:异步化 同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞...

阅读(65)评论(0)赞 (0)

Java

Java中常见死锁的实例

likai 发布于 2018-11-12

顺序死锁:过度加锁,导致由于执行顺序的原因,互相持有对方正在等待的锁 资源死锁:多个线程在相同的资源上发生等待 由于调用顺序而产生的死锁 public class Test { Object leftLock = new Object(); Object rightLock = ...

阅读(46)评论(0)赞 (0)

Java

Java核心(五)深入理解BIO、NIO、AIO

6

songhua.gao 发布于 2018-11-09

导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。 BIO、NIO、AIO 的区别是什么? 同/异步、阻/非阻塞的区别是什么? 文件读写最优雅的实...

阅读(51)评论(0)赞 (0)

Java

java多线程那点事儿

18

小丁 发布于 2018-11-08

前段时间应隔壁部门大佬的邀约,简单地帮他们部门的童靴梳理了下多线程相关的内容,客串了一把讲师【因为部门内有不少是c#转java的童鞋,所以讲的稍微浅显了些】 ok,按照个人习惯先来大纲 知识点: 1)进程 多线程的相关概念 涉及到CPU调度 稍微谈下JVM内存模型 程序计数器 2...

阅读(55)评论(0)赞 (0)