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

个人网站用移动硬盘做服务器免费销售网站模板

个人网站用移动硬盘做服务器,免费销售网站模板,东营做网站优化公司,传媒公司网站源码问题来源 一次生产事故#xff0c;由于一次性从数据库查询过多数据导致线程 OOM#xff1a;Java heap space 异常#xff08;千万级表#xff0c;JVM堆内存2G#xff09;#xff0c;但是在线程OOM发生时#xff0c;java进程却没有立即挂掉。 ##OOM与异常 说到底OutOfM…问题来源 一次生产事故由于一次性从数据库查询过多数据导致线程 OOMJava heap space 异常千万级表JVM堆内存2G但是在线程OOM发生时java进程却没有立即挂掉。 ##OOM与异常 说到底OutOfMemoryError也只是一个java中的异常而已属于Error一系非检查异常 ObjectThrowableErrorVirtualMachineErrorOutOfMemoryError堆内存不够与异常的关系 线程发生OOM Java heap space首先是堆空间不够了然后再由jvm在申请分配空间的方法调用上抛出OOM异常。 对于线程它会像处理普通异常一样处理OutOfMemoryError。 实例 package org.example;import com.sun.javafx.scene.control.skin.TableHeaderRow;import java.util.ArrayList;//TIP To bRun/b code, press shortcut actionIdRun/ or // click the icon srcAllIcons.Actions.Execute/ icon in the gutter. public class Main {public static void main(String[] args) throws InterruptedException{//TIP Press shortcut actionIdShowIntentionActions/ with your caret at the highlighted text// to see how IntelliJ IDEA suggests fixing it.System.out.printf(Hello and welcome!);System.out.println(JVM从OS获取的 最大 内存 Runtime.getRuntime().maxMemory() / 1024 / 1024 M);System.out.println(JVM从OS获取的 当前 内存 Runtime.getRuntime().totalMemory() / 1024 / 1024 M);System.out.println(JVM从OS获取的 但空闲 内存 Runtime.getRuntime().freeMemory() / 1024 / 1024 M);// 创建线程new Thread(() - {ArrayListbyte[] bytes new ArrayList();for (int i 0; i 2000; i) {byte[] bytes1 new byte[3 * 1024 * 1024];bytes.add(bytes1);System.out.println(Thread.currentThread().getName():JVM从OS获取的 当前 内存 Runtime.getRuntime().totalMemory() / 1024 / 1024 M);}}).start();// 创建线程new Thread(() - {ArrayListbyte[] bytes new ArrayList();for (int i 0; i 2000; i) {byte[] bytes1 new byte[3 * 1024 * 1024];bytes.add(bytes1);System.out.println(Thread.currentThread().getName():JVM从OS获取的 当前 内存 Runtime.getRuntime().totalMemory() / 1024 / 1024 M);}}).start();while (true){System.out.println(Thread.currentThread().getName() continuing...);Thread.sleep(1000L);}} }结果 ##本机64位16G内存默认最大堆3600M JVM从OS获取的 最大 内存3600M JVM从OS获取的 当前 内存243M JVM从OS获取的 但空闲 内存237M main continuing...##2个线程分别开始创建byte数组占用内存 Thread-0:JVM从OS获取的 当前 内存307M Thread-1:JVM从OS获取的 当前 内存307M Thread-1:JVM从OS获取的 当前 内存307M Thread-0:JVM从OS获取的 当前 内存307M##JVM增长到极限Thread-1先报OOM Thread-0:JVM从OS获取的 当前 内存3366M Thread-0:JVM从OS获取的 当前 内存3366M Exception in thread Thread-1 java.lang.OutOfMemoryError: Java heap spaceat org.example.Main.lambda$main$1(Main.java:39)at org.example.Main$$Lambda$2/1828972342.run(Unknown Source)at java.lang.Thread.run(Thread.java:750) Thread-0:JVM从OS获取的 当前 内存3366M Thread-0:JVM从OS获取的 当前 内存3366M#Thread-1失败终止后起引用的对象也就可以GC了Thread-0又获取了好多内存直到OOM Thread-0:JVM从OS获取的 当前 内存3616M Thread-0:JVM从OS获取的 当前 内存3616M Exception in thread Thread-0 java.lang.OutOfMemoryError: Java heap spaceat org.example.Main.lambda$main$0(Main.java:29)at org.example.Main$$Lambda$1/1989780873.run(Unknown Source)at java.lang.Thread.run(Thread.java:750) main continuing... main continuing... main continuing...结论 1、OOM是在线程上发生的会被当做一般异常处理不会导致JVM的退出 2、多线程公用JVM一个线程终止GC后内存重新给其他线程分配。
http://www.dnsts.com.cn/news/40764.html

相关文章:

  • 大连html5网站建设云南旅行社网站建设
  • 合肥做网站哪家公司好益阳建站网站制作
  • 网站建设的步骤是什么意思百度公司做网站吗
  • 佛山网站建设公司招聘网站主机租用多少钱
  • 视频网站后台功能wordpress主题 免
  • 长春网站建设团队网页设计图片自动切换
  • 至少保存十个以上域名网站电商怎么推广自己的产品
  • 大兴网站建设首选公司网页设计示范html代码
  • 网站建设算什么专业卢镇seo网站优化排名
  • wordpress是php文件路径网站架构优化 amp
  • 做网站大概网站的相关链接怎么做
  • 设计师的网站有哪些网站可以做外贸
  • 找网站公司做网站的陷阱网站建设岗位任职资格
  • 建设工程类公司网站怎样精准搜索关键词
  • 番禺品牌型网站建设网站制作心得体会200字
  • wordpress网站打开满e福州app官方网站
  • 视频网站开发的难点国际商业网站
  • 移动医护网站建设利弊登封网络推广公司
  • 教师在哪些网站可以做兼职出库入库管理软件app
  • 弄一个网站要多少钱宠物网站建设规划书
  • 医疗行业网站策划成都微信网站建设公司
  • 清华紫光做网站项目管理咨询公司
  • 网站突然打不开工地施工模板尺寸要求
  • 江阳建设集团网站培训机构退费法律规定
  • 小工作室做网站可以接单做网站的软件
  • 建立网站 数据分析戴尔公司网站开发的经营目标
  • 郑州网站设计制作哪家好重庆网站建设 快速建站
  • 公司网站域名注册wordpress RSS怎么用
  • 淘宝指数网站wordpress 显示空白
  • 查排名网站如花建站