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

网站建设费用能否计入广告费sem竞价教程

网站建设费用能否计入广告费,sem竞价教程,私募基金网站怎么做seo,做360手机网站优化排文章目录 任务堆积导致 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/259834.html

相关文章:

  • 苏州做网站0512jinyan免费b站网站推广
  • 简便网站建设大学生网页制作成品模板
  • 义乌商城集团的网站建设网络营销章节测试答案
  • 网站源码是用什么做的温州网站建设开发
  • 湖北网站建设优化app001推广平台
  • 淘宝客必须建网站吗cps广告联盟平台
  • 做网站的接口是意思百度指数指的是什么
  • jsp动态网站开发技术与实践教程怎么做好网站营销推广
  • 12306网站如何做解绑360优化大师官方版
  • 做网站需要服务器seo数据是什么
  • 巴中建设银行网站免费的seo
  • 公司的网站难不难做手机优化大师怎么退款
  • 各学院二级网站建设通报58同城推广效果怎么样
  • 网页显示站点不安全seo查询爱站网
  • 数据网站有哪些站长网站查询
  • 贵州省城乡和住房建设厅网站首页怎么推广比较好
  • 公安机关网站备案怎么做网络营销策划是什么
  • 网络搭建与应用教程seo深度解析
  • 购物网站开发seo关键词排名优化品牌
  • 零食网站色调搭配怎麽做网页设计制作网站素材
  • 无投入网站推广网站前期推广
  • 界面好看的网站万秀服务不错的seo推广
  • 沛县徐州网站开发seo优化教程下载
  • 个人网站推广怎么做永久免费建个人网站
  • 建设网站之前都需要准备什么问题营销网站建设流程
  • 网站建设中图片h5制作
  • springboot做音乐网站推广网站最有效办法
  • 深圳网站建设找哪家博客推广的方法与技巧
  • 开源站群cms软文是什么意思?
  • 网站建设 类型免费推广软件下载