JVM笔记九-GC收集器日志信息学习 在上一篇文章中,我们通过代码运行结果,查看到JVM的堆内存逻辑上分区是三部分,物理上分区是2部分,以及是新生代分区三部分,占比分布是8/1/1。而且我们还通过代码和堆JVM参数配置,制造出了OOM异常。下面我们就来分析GC回收器的日志信息。先来看看,OOM后,GC详细日志信息:新生区的伊甸园区GC日志分析新生区的Eden区的GC,叫法:GC或者是YGC或者是MinorGC或者是轻GC我们复制一条来 凯哥Java JVM学习系列 2020-11-21 172已阅读 0 JVM笔记八-堆参数调优 JVM垃圾收集器(JavaGarbageCollection)。本教程均在JDK1.8+HotSpot为例来讲解的.先来看看Java7的:再来看看Jva8的可以看出,java8之后换成了元空间。那么怎么证明,堆区是有新生代、永久代、元空间三部分组成的呢?OOM这个错误我们都熟悉,那么怎么手动制造出一个OOM呢?如果16G的物理内存,JVM堆内存能够分到多少G的内存空间呢?我们带着这些疑问来一起学习 凯哥Java JVM学习系列 2020-11-15 126已阅读 0 JVM笔记六-堆区知识之对象生命周期和GC的关系 通过上一篇文章的学习,我们对JVM堆区有了初步的认识,接下来,我们继续展开讲解堆区。对象生命周期和GC的关系。我们已经知道了,堆区的新生区分成了三个部分:伊甸园区、幸存者0区、幸存者1区。其中0区也叫from,1区也叫to区。但是这个from和to是固定不变的吗?NO,NO,NO不是的。当新生区执行一次GC(YGC)后,from和to区会进行交换。交换后,也就是在GC之后,谁空谁是to区。所以,f 凯哥Java JVM学习系列 2020-10-24 204已阅读 0 JVM笔记五-堆区 JVM笔记五-堆区在JVM中,堆区是重中之重。通过前面文章的学习,我们知道了,栈区是不会有垃圾回收的,所以,经常说的垃圾回收,其实就是回收的是堆区的数据。在这里,我们将会看到传是中的,新生代、老年代、永久代(元空间)。凯哥Java(kaigejava)欢迎大家一起学习。堆(Heap):一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存 凯哥Java JVM学习系列 2020-10-11 237已阅读 0 JVM学习笔记之栈区 JVM学习笔记之栈区本文主要内容:栈是什么?栈帧又是什么?在JVM中,main方法调用say方法后,是怎么运行的?本文将详细讲解栈。希望大家学了之后,对栈有更深的了解。心法:在JVM中,栈管运行,堆管存储。栈数据结构特点:先进后出。生活中常见的case就是弹夹。最后一个压进弹夹的子弹,最先出弹夹。Stack栈:栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,它的生命周期跟随线程的生命周期 凯哥Java JVM学习系列 2020-09-20 285已阅读 0 JVM笔记二双亲委派机制 JVM双亲委派机制,简单来说:我爸是李刚,有事找我爸。用三个字来说:往上捅。不信?咱们一起看看 凯哥Java JVM学习系列 2020-08-08 593已阅读 0 JVM学习笔记之类装载器-ClassLoader JVM学习笔记之类装载器-ClassLoader本文字数:2300,阅读耗时7分钟JVM体系结构概览类装载器ClassLoader:负责加载class文件,class文件在文件开头有特定的文件标识,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于class文件是否可以允许,则由ExecutionEngine 凯哥Java JVM学习系列 2020-08-06 381已阅读 0 【JVM】浅谈双亲委派和破坏双亲委派 目录一、前言二、双亲委派2.1、为什么需要双亲委派2.2、双亲委派的实现三、破坏双亲委派3.1、为什么需要破坏双亲委派?3.2、破坏双亲委派的实现四、总结一、前言笔者曾经阅读过周志明的《深入理解Java虚拟机》这本书,阅读完后自以为对jvm有了一定的了解,然而当真正碰到问题的时候,才发现自己读的有多粗糙,也体会到只有实践才能加深理解,正应对了那句话——“Talkischeap,showmethec 凯哥Java JVM学习系列 2020-08-06 395已阅读 0 JVM学习系列学习七 5:实战:内存溢出的定位与分析内存溢出在日常工作中,这个错误很容易遇到。遇到内存溢出,首先我们需要快速定位内存溢出的环节(位置),需要进行分析,看看是正常情况还是非正常情况。如果是正常情况,这个时候我们需要加大内存。如果是非正常情况,就需要对我们的程序进行修改,来修复这个问题。首先,我们需要学会如何定位问题,然后在对问题进行分析,如何定位问题?这里我们可以借助于jmap与MAT工具进行分析。5.1 凯哥Java JVM学习系列 2019-07-04 762已阅读 0 JVM学习系列学习六 本文是《JVM学习系列》教程中第六篇文章。不是单篇的。我们接着上一篇讲解:4.5:通过MAT工具对dump文件进行分析4.5.1:MAT工具介绍:MAT(MemoryAnalyzerTool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVAheap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看 凯哥Java JVM学习系列 2019-07-04 777已阅读 0