GC的收集器种类: 收集器存在连线的说明他们可以配合使用。 新生代垃圾收集器 1.串行GC(serial)垃圾回收器 单线程收集器,必须暂停所有的工作线程直到结束: 最古老,稳定效率高的垃圾回收器 对应的JVM参数是: -XX:+UseSerialGC 开启后会使用:Serial(Young区用) ...
分类:
其他好文 时间:
2019-10-06 13:31:58
阅读次数:
157
一、运行时数据区域 1、各个区域的作用 1.1、程序计数器:当前线程执行的字节码的行号指示器,占用空间小,也无法干涉 1.2、堆:几乎所有对象都分配在这里,也是垃圾回收发生的主要区域,可用以下参数调整 》 ①、-Xms: 堆的最小值 ②、-Xmx: 堆的最大值 ③、-Xmn: 新生代的大小 ④、-X ...
分类:
编程语言 时间:
2019-10-05 14:18:39
阅读次数:
78
JVM内存包括区域 Heap(堆区) New Generation(新生代) Eden 伊甸园 Survivor From Survivor To Old Generation(老年代) 方法区 Permanent Generation(持久代) Stack(栈区) Metaspace(元空间) D ...
分类:
其他好文 时间:
2019-09-25 22:44:43
阅读次数:
154
1. 说说JVM的内存分区 线程私有的区域 程序计数器:JVM中程序计数器相当于汇编语言中的CPU中的寄存器,保存程序当前执行的指令的地址。 虚拟机栈:Java方法执行的栈由许多个栈帧构成,每个栈帧对应一个被调用的方法,在栈帧中包括局部变量表(Local Variables)、操作数栈(Operan ...
分类:
编程语言 时间:
2019-09-23 15:25:13
阅读次数:
119
原文:https://www.jianshu.com/p/23fdaa6bb65b 参考: https://www.jianshu.com/p/bed143a1c886 http://www.sohu.com/a/270131876_463994 ...
分类:
其他好文 时间:
2019-09-23 11:53:45
阅读次数:
74
堆相关的配置参数 -Xmx 最大堆空间 -Xms 初始堆空间大小,如果初始堆空间耗尽,JVM会对堆空间扩容,其扩展上限为最大堆空间。通常-Xms与-Xmx设置为同样大小,避免扩容造成性能损耗。 -Xmn 设置新生代大小,设置一个较大的新生代会减少老年代的大小,新生代的大小一般设置为整个堆空间的1/3 ...
分类:
其他好文 时间:
2019-09-18 20:56:01
阅读次数:
123
参考资料:GC算法分类-https://zhuanlan.zhihu.com/p/41666328 《深入理解java虚拟机》第三章垃圾收集器与内存分配策略 一:GC分代--新生代跟老年代 gc活动空间为堆区域,堆按gc处理方式也可以分为新生代跟老年代。 对象内存分配跟使用的垃圾收集器有关,默认是在 ...
分类:
编程语言 时间:
2019-09-15 17:08:04
阅读次数:
110
前言 垃圾回收是Java体系最重要的组成部分之一,和C/C++不同,Java虚拟机提供了全自动的内存管理方案,尽量减少了我们在内存资源管理方面的工作量,但是这套方案也并不完美,因此我们也需要深入学习垃圾回收的算法,在工作中遇到内存溢出等问题时也容易更快找到问题所在 一、引用计数法 引用计数法是最古老 ...
分类:
编程语言 时间:
2019-09-12 14:58:59
阅读次数:
113
之前看过《深入了解Java虚拟机》感觉容易忘,今天写一篇博客加深一下印象。 JVM的内存分配和垃圾回收(GC)主要发生在Java堆中。而Java堆根据对象的存活时间可以分为新生代和老年代,而新生代又细分为Eden区、From Survivor区、To Survivor区,这是由于新生代中的垃圾回收算 ...
分类:
其他好文 时间:
2019-09-09 22:20:02
阅读次数:
109
上面7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则标识它是属于新生代收集器还是老年代收集器。 Serial收集器: Serial收集器是最基本、发展历史最悠久的收集器,曾经(JDK1.3.1前)是虚拟机新生代收集器的唯一选择。它是一个单线程的收集 ...
分类:
其他好文 时间:
2019-09-06 01:05:59
阅读次数:
94