当前位置: 首页 > wzjs >正文

网站建设费用能否计入广告费新媒体推广渠道有哪些

网站建设费用能否计入广告费,新媒体推广渠道有哪些,搞定在线图片编辑,有网站后台模板如何做数据库文章目录 任务堆积导致 OOM(内存溢出)问题描述错误实现正确实现 任务堆积导致 OOM(内存溢出) 问题描述 使用无界队列(如 LinkedBlockingQueue)的线程池,在任务提交速率远高于处理速率时&#…

文章目录

  • 任务堆积导致 OOM(内存溢出)
    • 问题描述
    • 错误实现
    • 正确实现

任务堆积导致 OOM(内存溢出)

问题描述

使用无界队列(如 LinkedBlockingQueue)的线程池,在任务提交速率远高于处理速率时,队列无限堆积,最终导致内存溢出(OOM)。

错误实现

public class QueueOOMDemo {// 静态集合防止GC回收内存(加速OOM)private static final List<byte[]> memoryHolder = new ArrayList<>();public static void main(String[] args) {// 使用无界队列(快速堆积大对象)ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 4, 60, TimeUnit.SECONDS,new LinkedBlockingQueue<>());// 提交大量任务,每个任务分配2MB内存(加速内存消耗)for (int i = 0; i < 20000; i++) {executor.execute(() -> {// 分配2MB内存,并存入静态集合防止GC回收byte[] chunk = new byte[2 * 1024 * 1024];synchronized (memoryHolder) {memoryHolder.add(chunk);}// 模拟任务耗时try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}});}}
}

运行结果

Exception in thread "pool-1-thread-2" Exception in thread "pool-1-thread-3" Exception in thread "pool-1-thread-1" Exception in thread "pool-1-thread-4" Exception in thread "pool-1-thread-6" Exception in thread "pool-1-thread-5" Exception in thread "pool-1-thread-7" Exception in thread "pool-1-thread-8" java.lang.OutOfMemoryError: Java heap spaceat com.szkingdom.example.thread01.QueueOOMDemo.lambda$main$0(QueueOOMDemo.java:30)at com.szkingdom.example.thread01.QueueOOMDemo$$Lambda$1/897913732.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Exception in thread "pool-1-thread-12" java.lang.OutOfMemoryError: Java heap space
Exception in thread "pool-1-thread-13" java.lang.OutOfMemoryError: Java heap space

问题分析

- 无界队列风险:默认队列容量为 `Integer.MAX_VALUE`,任务无限堆积,直至内存耗尽。
- OOM类型:通常为 `GC overhead limit exceeded` 或 `Java heap space`。

正确实现

  • 限制队列容量:使用有界队列,防止任务无限堆积。
  • 合理拒绝策略:任务满时触发拒绝策略,避免内存溢出。
public class QueueOOMFixedDemo {public static void main(String[] args) {// 使用有界队列(容量1000)和拒绝策略ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 4, 60, TimeUnit.SECONDS,new ArrayBlockingQueue<>(1000), // 队列容量1000new ThreadPoolExecutor.AbortPolicy());try {for (int i = 0; i < 20000; i++) {executor.execute(() -> {try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}});}} catch (RejectedExecutionException e) {System.err.println("任务被拒绝,已提交任务数:" + executor.getTaskCount());}executor.shutdown();}
}

运行结果

任务被拒绝,已提交任务数:1004
http://www.dtcms.com/wzjs/384506.html

相关文章:

  • 织梦如何做视频网站百度数据研究中心官网
  • 长沙移动网站建设哪家好竞价推广招聘
  • 下载代码的网站宁波网站建设与维护
  • 做教育的有哪些网站百度推广一般多少钱
  • 自己建个网站需要多少钱深圳网络营销公司
  • 自己电脑做服务器上传网站 需要备案吗短视频培训课程
  • 亚马逊网站建设历程网络推广怎么做好
  • 海尔集团网站 建设目的郑州seo外包费用
  • 本地做的网站如何映射出去有免费推广平台
  • 台州优化网站站长之家alexa排名
  • ecilpse做网站品牌推广
  • 做网站属于什么专业北京搜索引擎优化
  • 诸暨公司网站建设百度快速提交入口
  • 定制手机微网站关注公众号推广2元一个
  • 求做网站必应搜索引擎国际版
  • 英文网站排版电商平台怎么推广
  • 天津餐饮网站建设2024年新闻摘抄十条
  • 应聘网站开发的自我介绍厦门seo百度快照优化
  • 资源类网站怎么做分类信息网站平台有哪些
  • 用文件传输协议登录网站推广策划方案怎么做
  • 用websocket做网站如何推广网站
  • 做网站带来的好处seo短期培训班
  • 做外贸网站需要缴什么税镇江网络
  • 抖音广告推广seo网络优化日常工作内容
  • 网站使用什么语言好软件开发培训班
  • 网站设计原型图怎么做怀化seo推广
  • 好的外国设计网站推荐免费推广
  • 网站登不上去的原因网站制作价格
  • 网站上的地图导航怎么做的网站开发流程是什么
  • 国外美国服务器seo课程培训课程