加载中
015. 深入JVM学习—Java引用类型

引用类型划分 强引用:当内存不足时,JVM宁可出现“OutOfMemoryError”错误停止,也需要进行保存,并且不会将此空间回收。 软引用:当内存不足的时候,进行对象的回收处理,往往用于高速缓存...

2018/06/28 19:06
65
014. 深入JVM学习—G1收集器配置

G1收集器参数 No. 参数名称 描述 01 -XX:G1HeapRegionSize=n 设置G1区域的大小,每个区域大小可选范文:1MB~32MB之间,目标是根据最小的堆内存大小划分出约2048个区域。 02 -XX:MaxGCPauseM...

2018/06/28 12:28
483
013. 深入JVM学习—G1收集器策略

年轻代回收策略 1. 年轻代有对象 2. 年轻代对象被回收 所有的垃圾内存的保护区域有可能会被清空后重新分配。 2. 老年代回收策略 如果想要标注老年代的不用内存空间,都需要进行一些暂停,G1中...

2018/06/27 20:42
76
012. 深入JVM学习—G1收集器简介

概念 G1收集器(Garbage First)是从 JDK 1.7 u4 版本之后正式引入到Java的垃圾收集器,此类垃圾收集器主要应用在多CPU以及大内存的服务器环境下,这样可以极大地减少垃圾收集的停顿时间,以...

2018/06/27 15:42
58
011. 深入JVM学习—垃圾收集策略配置

GC策略调整参数 No. 参数名称 年轻代GC效果 老年代与元空间GC效果 01 -XX:+UseSerialGC 串行GC(Serial Copying) 串行GC(Serial MSC) 02 -XX:+UseParallelGC 并行回收GC(Parallel Scaven...

2018/06/26 20:31
59
010. 深入JVM学习—垃圾收集策略概览

新生代可用GC策略 1. 串行GC(Serial Copying) 算法:复制(Copying)清理算法; 操作步骤: 扫描年轻代中所有存活的对象; 使用Minor GC进行垃圾回收,同时将存活对象保存到“S0”或“S1”...

2018/06/25 17:41
105
009. 深入JVM学习—元空间

元空间相关知识 元空间是1.8之后才有的,其功能其实和永久代一样。唯一的区别在于永久代使用的是JVM堆内存空间,而元空间使用的是物理内存,直接受到本机物理内存的限制。 2. 元空间内存参数...

2018/06/25 14:50
350
008. 深入JVM学习—永久代

永久代的相关知识 JDK1.8之后取消。 永久代是在堆内存中保存的,但不会被回收,例如:intern()方法产生的对象不会被回收。所以如果你的操作不当,导致永久代中数据量过大,那么这个时候程序依...

2018/06/25 14:39
73
007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

2018/06/25 14:08
40
006. 深入JVM学习—年轻代

年轻代图片 年轻代(Young)属于JVM堆内存空间的一个组成部分 所有使用关键字new新实例化的对象一定会在伊甸园区进行保存,而对于存活区保存的一定是已经在伊甸园区存在一段时间并且经过了几...

2018/06/22 17:22
66
005. 深入JVM学习—Java堆内存参数调整

JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张的时...

2018/06/22 13:09
202
004. 深入JVM学习—Java垃圾回收流程

GC处理流程图 整个GC流程中,最需要处理的是年轻代和老年代内存的清理操作,而元空间(永久带)都不在GC范围内。 当有一个新对象产生,需要分配空间; 首先会判断伊甸园区是否有内存空间,如...

2018/06/22 13:07
770
003. 深入JVM学习—Java堆内存模型

GC收集原理 对不需要的对象进行处理标记,而后进行清除。 2. JVM堆内存划分 JDK1.8 以前 JDK1.8 以后 在JDK1.8之后将最初的永久代内存空间取消,取消永久代的目的是为了将HotSpot和JRockit两...

2018/06/22 13:05
148
002. 深入JVM学习—JVM对象访问模式

Object obj = new Object(); 分析 Object obj:描述的是保存在栈内存之中,而后保存有堆内存的引用,这个数据会保存在本地变量表中(变量表描述有哪些对象,保存对象栈的位置,栈对应着堆内存...

2018/06/22 13:03
265
001. 深入JVM学习—Java运行流程

Java运行流程图 2. Java运行时数据区 3. Java虚拟机栈 栈内存是线程私有的,其生命周期和线程相同; 虚拟机栈描述的是Java方法执行的内存模型:执行一个方法时会产生一个栈帧随后将其保存到栈...

2018/06/22 12:04
337

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部