JDK ThreadPoolExecutor核心原理与实践】的更多相关文章

一.内容概括 本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了ThreadPoolExecutor线程分配.任务处理.拒绝策略.启动停止等过程,其中对Worker内置类进行重点分析,内容不仅包含其工作原理,更对其设计思路进行了一定分析.文章内容既包含了源码流程分析,还具有设计思路探讨和二次开发实践. 二.构造ThreadPoolExecutor 2.1 线程池参数列表…
大家好,今天给大家介绍一下我的新书 -- <Redis核心原理与实践>. 后端开发的同学应该对Redis都不陌生,Redis由于性能极高.功能强大,已成为业界非常流行的内存数据库. <Redis核心原理与实践>这本书深入地分析了Redis常用特性的内部机制与实现方式,大部分内容源自对Redis源码的分析,并从中总结出实现原理.通过阅读本书,读者可以快速.轻松地了解Redis的内部运行机制. 为什么写这本书? 我一直希望从源码层面深入分析一个C语言实现的分布式系统程序.原因如下: (…
Redis是一个键值对数据库(key-value DB),下面是一个简单的Redis的命令: > SET msg "hello wolrd" 该命令将键"msg".值"hello wolrd"这两个字符串保存到Redis数据库中. 本章分析Redis如何在内存中保存这些字符串. redisObject Redis中的数据对象server.h/redisObject是Redis对内部存储的数据定义的抽象类型,在深入分析Redis数据类型前,我…
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入.弹出数据,可以充当栈和队列的角色. > LPUSH fruit apple (integer) 1 > RPUSH fruit banana (integer) 2 > RPOP fruit "banana" > LPOP fruit "apple" 本文探讨Redis中列表类型的实现. ziplist 使用数组和链表结构都可以实现列表类型.Redis中使用的是链表结构.…
在上一篇文章<Redis列表实现原理之ziplist结构>,我们分析了ziplist结构如何使用一块完整的内存存储列表数据. 同时也提出了一个问题:如果链表很长,ziplist中每次插入或删除节点时都需要进行大量的内存拷贝,这个性能是无法接受的. 本文分析quicklist结构如何解决这个问题,并实现Redis的列表类型. quicklist的设计思想很简单,将一个长ziplist拆分为多个短ziplist,避免插入或删除元素时导致大量的内存拷贝. ziplist存储数据的形式更类似于数组,而…
Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据. > HSET fruit name apple price 7.6 origin china 3 > HGET fruit price "7.6" 本文分析Redis中散列类型以及其底层数据结构--字典的实现原理. 字典 Redis通常使用字典结构存储用户散列数据. 字典是Redis的重要数据结构.除了散列类型,Redis数据库也使用了字典结构. Redis使用Hash表实现字典结构.分析Hash表…
Redis服务器负责接收处理用户请求,为用户提供服务. Redis服务器的启动命令格式如下: redis-server [ configfile ] [ options ] configfile参数指定配置文件.options参数指定启动配置项,它可以覆盖配置文件中的配置项,如 redis-server /path/to/redis.conf --port 7777 --protected-mode no 该命令启动Redis服务,并指定了配置文件/path/to/redis.conf,给出了两…
Redis支持事务机制,但Redis的事务机制与传统关系型数据库的事务机制并不相同. Redis事务的本质是一组命令的集合(命令队列).事务可以一次执行多个命令,并提供以下保证: (1)事务中的所有命令都按顺序执行.事务命令执行过程中,其他客户端提交的命令请求需要等待当前事务所有命令执行完成后再处理,不会插入当前事务命令队列中. (2)事务中的命令要么都执行,要么都不执行,即使事务中有些命令执行失败,后续命令依然被执行.因此Redis事务也是原子的. 注意Redis不支持回滚,如果事务中有命令执…
收录待用,修改转载已取得腾讯云授权 作者 | 蒋专 蒋专,现CDG事业群社交与效果广告部微信广告中心业务逻辑组员工,负责广告系统后台开发,2012年上海同济大学软件学院本科毕业,曾在百度凤巢工作三年,2016年入职微信广告中心. 导语 spark 已经成为广告.报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐,我自己最近半年在接触spark以及spark streaming之后,对spark技术的使用有一些自己的经验积累以及心得体会,在此分享给大家. 本文…
原文地址:https://www.jianshu.com/p/ec5b8cccd87d java和spring都提供了线程池的框架 java提供的是Executors: spring提供的是ThreadPoolTaskExecutor: 一.基本使用 Executors提供了4个线程池, FixedThreadPool SingleThreadExecutor CachedThreadPool ScheduledThreadPool FixedThreadPool-固定线程池 public cl…