JVM及GC
文章平均质量分 96
奋斗的小媛
这个作者很懒,什么都没留下…
展开
-
JVM 发生OOM的四种情况
JVM 发生OOM的四种情况1、Java堆溢出:heapJava堆内存主要用来存放运行过程中所以的对象,该区域OOM异常一般会有如下错误信息;java.lang.OutofMemoryError:Javaheap space此类错误一般通过Eclipse Memory Analyzer分析OOM时dump的内存快照就能分析出来,到底是由于程序原因导致的内存泄露,还是由于没有估计...原创 2020-04-02 23:14:58 · 396 阅读 · 0 评论 -
jvm垃圾回收的流程及垃圾回收器详解
jvm垃圾回收的流程允许GC之后,开始查找那些允许被回收的(两个算法)-> 开始回收(四个算法)第一步:那些对象是垃圾:1,引用计数法:通过对引用的遍历,找到对应的实例,让对应的实例计数加1 ,如果引用取消,或者指向null,实例的引用减1 。把找到的引用都遍历一遍之后,如果发现有对象实例的计数是0。那么这个对象 就是垃圾对象了。在通过垃圾回收算法对其进...原创 2020-04-03 10:16:42 · 2528 阅读 · 3 评论 -
什么是双亲委派机制
当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。类加载器的类别BootstrapClassLoader(启动类加载器)c++编写,加载java核心库 java.*,构造ExtClassLoader和AppClassLoader。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获...原创 2020-04-01 14:12:35 · 141 阅读 · 0 评论 -
Class.forName()和ClassLoader.loadClass()的区别
java类装载过程分为3步: 类加载器实例化时进行的操作步骤所有的 Java虚拟机实例必须在每个类或接口被 Java程序“首次主动使用”时才初始化它们。 1:加载 Jvm把class文件字节码加载到内存中,并将这些静态数据装换成运行时数据区中方法区的类型数据,在运行时数据区堆中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口。...原创 2020-04-01 14:10:50 · 134 阅读 · 0 评论 -
jvm内存结构
jvm内存结构 其中, 线程私有的:程序计数器,虚拟机栈,本地方法栈 线程共享的:堆,方法区,直接内存1 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完。 java虚拟机的...原创 2020-04-01 13:22:12 · 69 阅读 · 0 评论 -
Java面试--GC垃圾回收器
Java面试–GC垃圾回收器GC 的算法及收集器Garbage Collection(垃圾收集),Java 中 GC 的对象是堆空间和永久区。1.1 基础概念GC: GC 本身有三种语义,下文需要根据具体场景带入不同的语义:Garbage Collection:垃圾收集技术,名词。Garbage Collector:垃圾收集器,名词。Garbage Collecting:垃圾收集动作,动词。Mutator: 生产垃圾的角色,也就是我们的应用程序,垃圾制造者,通过 Allocato原创 2021-03-13 14:53:22 · 235 阅读 · 0 评论 -
Java面试--JVM
jvm内存结构程序计数器:代码的流程控制,不会出现 **OutOfMemoryError栈: 各种基本数据类型和对象引用,****会出现:StackOverFlowError 和 OutOfMemoryError。堆:存放对象实例,GC再此发生。方法区**:已被虚拟机加载的类信息、常量(常量池)、静态变量、即时编译器编译后的代码等数据[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgQXnzWr-1615618061684)(data:image/gif;base6原创 2021-03-13 14:50:07 · 90 阅读 · 0 评论 -
9种常见的CMS GC问题分析与解决
1. GC 问题判断在做 GC 问题排查和优化之前,我们需要先来明确下到底是不是 GC 直接导致的问题,或者应用代码导致的 GC 异常,最终出现问题。1.1 判断 GC 有没有问题?1.1.1 设定评价标准评判 GC 的两个核心指标:延迟(Latency): 也可以理解为最大停顿时间,即垃圾收集过程中一次 STW 的最长时间,越短越好,一定程度上可以接受频次的增大,GC 技术的主要发展方向。吞吐量(Throughput): 应用系统的生命周期内,由于 GC 线程会占用 Mutator 当前可用原创 2021-03-13 14:47:08 · 2297 阅读 · 0 评论