Java池化技术

本文介绍了Java线程池技术,包括ThreadPoolExecutor的核心参数解析,如corePoolSize、maximumPoolSize、keepAliveTime等。同时,详细讨论了线程池的拒绝策略,并提到了Tomcat 8.5的Http Connector和Executor两种线程池配置,分析了相关参数如maxConnections、minSpareThreads等,强调了合理配置队列深度的重要性。
摘要由CSDN通过智能技术生成

写在前面
在Java应用开发中经常会用到连接池、线程池等池化技术。池化(pool)技术的本质是通过复用对象、连接等资源,减少创建对象/连接,降低垃圾回收(GC)的开销,适当使用池化相关技术能够显著提高系统效率,优化性能。
线程池

  • Java ThreadPoolExecutor
    线程池通过减少频繁创建和销毁线程来降低系统性能损耗。每一个线程会对应一个线程栈(Thread Stack),用于存储局部变量与操作信息,可通过JVM参数中 -Xss 来调整线程栈大小,同时通过线程池来控制可创建线程的数量。线程池一般和队列(work queue)配合工作,通过线程池限制处理并发任务的数量;然后使用队列做为缓冲,通过设置队列的深度,当任务数量超过队列深度时,采用相应的拒绝策略处理,保证系统的可用性。
ThreadPoolExecutor构造方法
public ThreadPoolExecutor(int corePoolSize, 
                          int maximumPoolSize, 
                          long keepAliveTime, 
                          TimeUnit unit, 
                          BlockingQueue<Runnable> workQueue, 
                          RejectedExecutionHandler handler) {
    
    this(core
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值