ICode9

精准搜索请尝试: 精确搜索
  • Java内存模型2021-05-15 14:36:44

    Java内存模型图 程序计数器 是一块较小的内存空间, 用来指示当前线程正在执行的Java字节码位置. 如果正在执行Java方法, 则计数器记录的是当前字节码的地址, 如果正在执行本地方法, 则计数器为空. 线程私有, 所以不会出现线程安全问题. 此区域是唯一一个在<<Java虚拟机规范>>中

  • 借花献佛!一文了解OOM及解决方案,终局之战2021-05-08 13:30:45

    前言 阿里巴巴,作为国内互联网公司的Top,算是业界的标杆,有阿里背景的程序员,也更具有权威性。作为程序员,都清楚阿里对于员工要求有多高,技术人员掌握的技术水平更是望尘莫及。所以,大厂程序员的很多经验也都值得我们借鉴和学习,在一定程度上确实能够帮助我们“走捷径”。 今天,我们

  • 为什么阿里巴巴要禁用Executors创建线程池?2021-05-07 20:05:12

    看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析禁用的原因写在前面首先感谢大家在盖楼的间隙阅读本篇文章,通过阅读本篇文章你将了解到: 线程池的定义 Executors创建线程池的几种方式 ThreadPoolExecutor对

  • 大数据量查询容易OOM?试试MySQL流式查询2021-05-07 19:35:30

    一、前言   程序访问MySQL数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM)。其实在MySQL数据库中提供了流式查询,允许把符合条件的数据分批一部分一部分地加载到内存中,可以有效避免OOM;本文主要介绍如何使用流式查询并对比

  • jvm性能调优实战 -58类加载器过多引发的OOM问题2021-04-28 23:59:16

    文章目录 背景 使用top命令检查机器资源使用 在内存使用这么高的情况下会发生什么? 底是谁占用了过多的内存? 小结 背景 公司里有一个非常正常的线上的服务,采用的是Web系统部署在Tomcat中的方式来进行启动的。 但是有一段时间,我们突然收到一些反馈,说是这个服务非常的不

  • Java虚拟机详解(五)------JVM参数(持续更新)2021-04-28 16:04:06

    Java虚拟机详解(五)------JVM参数   JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改都可以满足大多数情况。但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的。下面我们就来对这些JVM参数进行详细的介绍。

  • jvm性能调优实战 - 47超大数据量处理系统是如何OOM的2021-04-27 23:29:41

    文章目录 Pre Case 针对Kafka故障设计的高可用场景 无法释放的内存最终导致OOM 故障修复 Pre 之前我们已经用代码给大家都演示过几种不同的内存溢出的场景了,但是光看代码演示可能大家还是找不到感觉。因此,我们同样也会用曾经遇到过的真实线上系统运行场景来让大家看

  • Java OOM问题如何排查2021-04-25 21:30:17

    什么是OOM OOM为out of memory的简称,来源于java.lang.OutOfMemoryError,指程序需要的内存空间大于系统分配的内存空间,OOM后果就是程序crash;可以通俗理解:程序申请内存过大,虚拟机无法满足,然后自杀了。 导致OOM问题的原因 为什么会没有内存了呢?原因不外乎有两点: 1)分配的少了:比如

  • Linux OOM killer2021-04-22 15:51:13

    Linux内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽,内核会把该进程杀掉,监控是正常的。防止重要的系统进程触发(OOM)机制而被杀死:可以设置参数/proc/PID/oom_adj为-17,临时关闭linux内核的OOM机制。

  • 解析Java横死之谜,气定神闲看花开花落2021-04-15 18:08:35

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。任何不保留此声明的转载都是抄袭。Java进程突然不见了,日志里并没有任何它们的信息,它们就那么凭空蒸发了。日志、OOM的一些配置参数,根本就不顶用。不要惊慌。进程没有灵魂。一个restart,会让这些程序活蹦乱跳again。问题是

  • OOM内存JVM调优2021-04-13 15:59:40

    1.Sun HotSpot VM,是JDK和Open JDK中自带的虚拟机,也是目前使用范围最广的Java虚拟机。 2.JVM内存分布         程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。程序中的分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器

  • 快手自研OOM解决方案KOOM今日宣布开源2021-04-08 16:32:12

    近日,快手宣布开源KOOM,成为行业首个开源线上内存溢出(Out of Memory,以下简称OOM)问题解决方案的互联网企业。据介绍,KOOM是在客户端完成内存监控后,将解析报告上传到云端,传输文件大小仅为KB级,运行时用户无感知,对流量基本无影响,适合大规模普及应用,目前该方案已在快手全量业务中应用,O

  • 第九章:方法区【重要】2021-04-07 23:03:15

    一、栈、堆、方法区的交互关系   1、从线程共享与否的角度来看            2、栈、堆、方法区的交互关系            二、方法区的理解   1、官方文档            2、方法区在哪里?       3、方法区的基本理解             4、   5、  

  • java面试一日一题:1.6/7/8Java内存区域有什么不同吗2021-04-03 11:36:55

    问题:请讲下在JDK6 JDK7 JDK8中java内存区域有什么不同吗 分析:该问题主要考察对JVM运行时区域的了解,首先要了解最基本的内存区域划分,然后再去掌握其中的变化,再延申一点,为什么要这样变化; 回答要点: 主要从以下几点去考虑, 1、内存区域的基本划分是什么? 2、内存区域在不同的版本下是怎

  • Java 如何有效地避免OOM:善于利用软引用和弱引用2021-04-01 09:54:42

    想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:一.了解 强引用、软引用、弱引用、虚引用的概念二.进一步理解软引用和弱引用三.如何利用

  • JVM中哪些地方会出现OOM2021-03-28 20:02:16

    jvm中主要分为方法区、堆、栈、本地方法栈、程序计数器这几部分,其中程序计数器是唯一不会出现OOM的 1. java堆溢出(heap) Java堆内存主要用来存放运行过程中所有的对象,该区域OOM异常一般会有如下错误信息:  java.lang.OutofMemoryError:Java heap space   可以通过dump的内存快照就

  • 还原FullGc翻车现场2021-03-28 19:32:53

    在上周写Bug工作的某一天某个时刻,系统挂载的几台容器突然随机命中进行重启,10分钟重启一次,每次重启的容器是随机的(请求命中哪一台那一台就xx),排查出来的原因是因为OOM导致FullGc => FullGc期间线程停顿 => 心跳检测失败 => 重启容器。笔者在那之前还没遇到过FullGc的问题,谨

  • 诊断虚拟机频繁 OOM 的问题2021-03-21 21:52:58

     霍明明 360云计算 女主宣言本文作者霍明明负责 360 HULK 云平台虚拟化和容器化服务的技术布道和解决方案推广等工作。本文主要探究的 OOM Killer 是一个内核功能,当宿主机内存不足时,会使用一系列启发式技术来选择杀死一个进程。本文最先发布于 opsdev, 转载已获取作者授权。PS:

  • 记录一次线上OOM2021-03-20 10:30:28

  • 彻底解决POI 读写excel 发生OOM问题2021-03-19 11:57:55

    说实话之前之前没怎么接触过POI组件,只知道有这么一个东西可以解决excel读写问题,但不用不知道,使用起来真心无语,到处都是坑。接下来我讲分享一些在项目中遇到的坑及解决方法,其实社区也有不少类似文章,但讲的都比较零散。 1. .xls与.xlsx 首先,科普一些基础常识: .xls 是用03版Office

  • websocket server OOM异常及传输大小设置2021-03-16 19:03:21

    基于springboot编写了一个简单Websocket服务,主要用来接收客户端上报的各种数据。由于网络环境不稳定,经常出现websocket连接中断,客户端自动重连的现象。 某日,生产环境突然出现上百个客户端集体掉线的警报,而且是同一时间发生的,平常也就一两个掉线告警。 起初以为是网络问题,但从客户

  • Java ThreadLocal 与 OOM2021-03-06 03:01:18

    ThreadLocal 实例通常都是 static 类型,用于关联线程和线程上下文。 ThreadLocal 提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度。 总结: 线程并发: 在多线程并发的场景下 传递数

  • Java OOM 内存溢出分析2021-02-12 12:32:42

    编写OOM程序 package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; @RestController public class TestController { @GetMapping("/he

  • JVM从入门到精通-方法区2021-02-11 12:02:00

    方法区 1.栈、堆、方法区的交互关系 1.1 从线程共享与否角度 PC:无异常,无GC 虚拟机栈:有异常,无GC 栈、堆和方法区的关系 2.方法区的理解 堆存费的是new出来的对象; 方法区中存放class文件; 2.1 Hotspot方法区演进 JDK8元空间使用本地内存; 2.2方法区概述 元空间不在虚拟机设

  • 什么?你还在用POI导出数据?EasyExcel解决大数据量导出OOM(内存溢出)2021-02-06 19:32:57

    前言 今天忙完,上面派发了一个任务,有个项目的导出接口数据量太大了,导出直接内存溢出(OOM),暂时做法是限制导出的行数,然后让我去研究一下,通过一下午的研究,通过EasyExcel解决了这个问题,并且大幅度提高了映射速度,如下图: EasyExcel介绍 EasyExcel是一个基于Java的简单、省内存的读

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有