加载中
深入理解JVM - 系统性能优化

系统性能优化并不是一上来就是JVM优化,相反JVM优化几乎是最后的手段了。影响一个系统的性能的因素非常多,如图: 从服务本身来看,影响服务性能的主要包扣: 我们写代码时所选择的数据结构和...

深入理解JVM - JVM编译器

编译器类型 编译器最终的目的是将我们写的源代码编译成机器能识别的机器码。 在JVM 中有三个非常重要的编译器,它们分别是:前端编译器、JIT 编译器和AOT编译器。 前端编译器 将源代码转化成...

2020/03/04 14:47
751
深入理解JVM - 方法调用

方法调用并不等同于方法中的代码被执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还未涉及方法内部的具体运行过程。一切方法调用在Class文件里面存储的都...

深入理解JVM - 类加载机制

类加载过程 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(...

2020/01/20 17:26
1.5K
深入理解JVM - Class类文件的结构

Class文件是Java虚拟机执行引擎的数据入口,也是Java技术体系的基础支柱之一。 Class文件本质 Class文件本质上是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在C...

深入理解JVM - 虚拟机字节码指令集

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需的参数(称为操作数,Operand)构成。因为只有一个字节的长度...

深入理解JVM - JVM常用命令

jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程 jstat(JVM Statistics Monitoring Tool):用户收集HotSpot虚拟机各方面的运行数据 jinfo(Configuration Info fo...

深入理解JVM - ZGC垃圾收集器

如果下面的一些概念有些不清楚的可以先看深入理解JVM - 垃圾收集器和深入理解JVM - Shenandoah垃圾收集器。 ZGC(Z Garbage Collector)是一款由Oracle公司研发的,以低延迟为首要目标的一款...

深入理解JVM - Shenandoah垃圾收集器

如果下面的一些概念有些不清楚的可以先看深入理解JVM - 垃圾收集器。 Shenandoah是一款只有OpenJDK才会包含的收集器,最开始由RedHat公司独立发展后来贡献给了OpenJDK,相比G1主要改进点在于...

2020/01/11 12:58
5K
深入理解JVM - 内存分配策略

对象优先在Eden分配 对象优先在Eden分配,如果说Eden内存空间不足,就会发生Minor GC 大对象直接进入老年代 大对象:需要大量连续内存空间的Java对象,比如:很长的字符串和大型数组。 大对象...

深入理解JVM - 垃圾收集器

垃圾回收主要是要解决3件事情: 那些内存需要回收? 如何回收? 什么时候回收? 术语解释 并行/并发 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发...

深入理解JVM - 内存溢出实战

Java堆溢出 Java堆用于存储对象实例,只要不断地创建对象,当对象数量到达最大堆的容量限制后就会产生内存溢出异常。最常见的内存溢出就是存在大的容器,而没法回收,比如:Map,List等。 内...

深入理解JVM - JVM内存模型

各版本的差异 JDK1.6 在JDK1.6 的时候运行时常量池在方法区中 JDK1.7 在JDK1.7 的时候运行时常量池在堆中 JDK1.8 在JDK1.8 的时候,JVM内存模型直接将方法区移到了本地内存中,叫元数据空间。...

StackOverflowError 栈溢出实战

栈溢出的原因 在解决栈溢出问题之前,我们首先需要知道一般引起栈溢出的原因,主要有以下几点: 是否有递归调用 循环依赖调用 方法调用链路很深,层级到达10W左右就会出现栈溢出 问题现象 我...

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部