码迷,mamicode.com
首页 > 其他好文 > 详细

jvm内存溢出原因分析

时间:2021-06-02 15:01:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:thread   eth   fixed   font   存储   color   ade   创建   integer   

一,创建线程池时,可能使用Excutors的四种方式。

newSingleThreadExecutor()和 newFixedThreadPool(int nThreads),内部实现队列为 LinkedBlockingQueue。
LinkedBlockingQueue 是一个由链表实现的有界阻塞队列,容量默认值为 Integer.MAX_VALUE,(也可以自定义容量,建议指定容量大小),
默认大小在添加速度大于删除速度情况下有造成内存溢出的风险,LinkedBlockingQueue 是先进先出的方式存储元素。
newScheduledThreadPool(int corePoolSize)和 newCachedThreadPool()的最大线程数为Integer.MAX_VALUE,同一时刻并发任务多,导致快速创建多个线程,造成内存溢出

jvm内存溢出原因分析

标签:thread   eth   fixed   font   存储   color   ade   创建   integer   

原文地址:https://www.cnblogs.com/weixy3/p/14823947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!