Category: Java Memory Model JMM

[转]一次 JVM FullGC 的排查过程及解决方案! 0

[转]一次 JVM FullGC 的排查过程及解决方案!

问题产生 最近新上线的系统偶尔会报FullGC时间过长(>1s)的告警,查看GC日志,如下图所示: Please follow and like us:0

[转]JVM最多支持多少个线程? 0

[转]JVM最多支持多少个线程?

McGovernTheory在StackOverflow提了这样一个问题: Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗? Please follow and like us:0

[转]JVM FullGC导致线上生产事故 0

[转]JVM FullGC导致线上生产事故

一、业务场景介绍 先简单说说线上生产系统的一个背景,因为仅仅是文章作为案例来讲,所以弱化大量的业务背景。 简单来说,这是一套分布式系统,系统A需要将一个非常核心以及关键的数据通过网络请求,传输给另外一个系统B。 所以这里其实就考虑到了一个问题,如果系统A刚刚将核心数据传递给了系统B,结果系统B莫名其妙宕机了,岂不是会导致数据丢失? Please follow and like us:0

[转]Java内存模型原理 0

[转]Java内存模型原理

这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对 Java 内存模型体系产生一个相对清晰的理解,知其然知其所以然。 Please follow and like us:0

[转]jvm堆内存溢出后,其他线程是否可继续工作 0

[转]jvm堆内存溢出后,其他线程是否可继续工作

背景 最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。 由于题目中给出的OOM,java中OOM又分很多类型;比如:堆溢出(“java.lang.OutOfMemoryError: Java heap space”)、永久带溢出(“java.lang.OutOfMemoryError:Permgen space”)、不能创建线程(“java.lang.OutOfMemoryError:Unable to create new native thread”)等很多种情况。 本文主要是分析堆溢出对应用带来的影响。 Please follow and like us:0