logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

并发编程工具 - 线程池核心参数和工作原理

目录1、线程池的结构2、线程池的创建方式3、核心参数4、工作原理线程池绝对的面试高频,确实因为多线程是解决并发问题特别是提升某些核心项目接口的利器,但是使用不好也存在大量的问题,那么搞清楚线程池的工作原理尤为重要。之前接触线程池基本都存在于面试阶段,但是当第一次在项目上看别人使用线程池解决并行任务时特别的震惊,项目上一个接口并行了17个子任务。现在已经基本在项目上都会使用线程池来解决核心问题,理解

并发编程工具 - ThreadPoolExecutor源码解析

目录AtomicIntegerctl表示了线程池的生命周期线程池状态和转换过程execute(Runnable command)添加任务,addWork(Runnable firstTask, boolean core)Worker结构执行任务,runWorker(Worker w)销毁线程,processWorkerExit在(并发编程工具 - 线程池核心参数和工作原理)理解了ThreadPoo

并发编程工具 - 线程池的使用和自己的封装

目录线程池的使用线程池参数设置自己封装的线程池工具根据阿姆达尔(Amdal)定律可知[并发编程基础 - 安全性、活跃性、性能问题#性能问题],若串行度为5%那么无论使用任何技术,性能最高提升20%,所以减小串行度(减小锁粒度、算法优化等)是前提。但是除此之外使用多线程并行任务也是比较常用的手段,效果也非常明显,只是使用不好坑会非常多,所以最好深入理解其运行原理,这当然也是面试的高频。线程池的使用上

并发编程工具 - AtomicReferenceFieldUpdater、并发修改同一对象的不同属性会有问题吗?

并发修改同一对象的不同属性会有问题吗?当调用Tomcat等Web服务器时,会交给Tomcat的某一线程处理请求,为了提高接口的性能缩短返回时间,将能并行的任务放到Runnable/Callable中,知道Callable能返回Future进行有返回值的结果处理,但是那样的程序写出来会比较繁琐。所有很多时候直接用Runnable + 线程安全的容器存储(比如ConcurrentHashMap)每个线

并发编程工具 - Tomcat对ThreadPoolExecutor线程池的扩展

目录1、Tomcat定制自己的TaskThreadFactory2、Tomcat定制TaskQueue集成自LinkedBlockeingQueue3、Tomcat定制扩展ThreadPoolExecutor分析完juc的线程池源码并发编程工具 - ThreadPoolExecutor源码解析,理解了线程池执行的过程(即 execute(Runnable runnable)),再回顾一下线程池的执

并发编程工具 - CompletableFuture的API和项目使用

目录一、CompletableFuture的API1、CompletableFuture整体结构2、按照类型分类3、按照关系分类二、CompletableFuture的demo、项目使用1、使用Demo2、自己项目上的使用并发编程时的可以并行的应用场景非常多,比如C依赖于A、B并行的结果,但是整体可以和D并行等,如果是Java8之前的话,则需要将任务封装成每个Runnable(或者Callable

数据结构 - 堆的应用场景

目录1、优先级队列的使用场景1)、定时任务轮训问题2)、合并有序小文件2、求Top K值问题【使用一个堆解决】3、求中位数、百分位数【使用一个大顶堆一个小顶堆解决】4、大数据量日志统计搜索排行榜【散列表+堆】堆作为数据结构其特殊的结构完全二叉树,作为数据特点堆顶元素大于等于(或者小于等于)索引叶子节点。前面篇博客分析了,堆排序也算是堆的一个应用场景,并且分析了堆排序的第一步建堆,允许在时间复杂度O

#数据结构
JVM(二)- 自动内存管理(一)- 运行时数据区

目录一、JVM运行时数据区1、程序计数器2、虚拟机栈(stack)1)、局部变量2)、操作数栈3)、动态链接4)、出口3、本地方法栈(Native Method Stack)4、方法区5、堆(Heap)6、直接内存一、JVM运行时数据区Java程序运行时,会基于类加载机制将类文件加载到JVM,并...

动态代理模式-在项目中的使用(基于feign源码写自己的rpc报表框架)

设计模式-总览https://mp.csdn.net/mp_blog/creation/editor/1222025071、项目背景报表服务导出服务经常会涉及jvm、io等异常情况,所以想要将报表的查询和导出在两个服务中进行,并且报表的查询是在k8s环境中的一个微服务,而报表的真正执行服务是在一个虚拟机。需要将报表的查询和导出两个阶段在两个...

#代理模式#rpc
分布式限流之 - Spring Cloud Gateway层限流实现

写在前面的话高兵发的三驾马车:缓存、降级、限流,这里仅仅说限流常用的限流算法有:计数器算法、固定窗口算法、滑动窗口算法、漏桶算法、令牌桶算法;每种算法的特点和优缺点这里不展开,比较适用的限流算法基本都会选择令牌桶,并且这里基于Spring Cloud Gateway Redis本身默认就是基于令牌桶算法实现限流按照类型分为:单机、分布式;限流按照请求流量的路径分为:nginx、gateway、微服

文章图片
#spring cloud#gateway#java
    共 28 条
  • 1
  • 2
  • 3
  • 请选择