JVM01--jvm内存结构与垃圾收集算法
2016-10-14 09:10
411 查看
重点:GC收集算法,监控内存溢出的方法,jvm优化方法,类加载器的方法,类的结构
一、jvm虚拟机将内存划分为6个部分:java虚拟机栈,本地方法栈,java堆,程序计数器,运行常量池,方法区
二、GC策略算法:1、引用计数算法 缺陷:循环引用的对象无法被回收
2、根搜索算法 是垃圾收集的基本问题。回收根不可到达的对象. 缺陷:需要停止程序
可以作为根(GC roots)对象的有: 1、虚拟机栈中的引用的对象。
2、方法区中的类静态属性引用的对象。
3、方法区中的常量引用的对象。
4、本地方法栈中JNI的引用的对象。
二、常见的GC回收算法 1、标记-清除算法 2、复制算法 3、标记-整理算法
1、标记-清除算法 :当堆中的内存被耗尽的时候,就会停止整个程序。停下来做2项工作:一个是标记,二是清除
标记:遍历所有GC-Roots能到达的对象,标记为存活。
清除:遍历堆中所有的对象,将没有标记的对象全部清除。
缺陷:效率低下,需要遍历堆中所有对象,而且还需要停止应用程序,清除的空间不是连续的
一、jvm虚拟机将内存划分为6个部分:java虚拟机栈,本地方法栈,java堆,程序计数器,运行常量池,方法区
二、GC策略算法:1、引用计数算法 缺陷:循环引用的对象无法被回收
2、根搜索算法 是垃圾收集的基本问题。回收根不可到达的对象. 缺陷:需要停止程序
可以作为根(GC roots)对象的有: 1、虚拟机栈中的引用的对象。
2、方法区中的类静态属性引用的对象。
3、方法区中的常量引用的对象。
4、本地方法栈中JNI的引用的对象。
二、常见的GC回收算法 1、标记-清除算法 2、复制算法 3、标记-整理算法
1、标记-清除算法 :当堆中的内存被耗尽的时候,就会停止整个程序。停下来做2项工作:一个是标记,二是清除
标记:遍历所有GC-Roots能到达的对象,标记为存活。
清除:遍历堆中所有的对象,将没有标记的对象全部清除。
缺陷:效率低下,需要遍历堆中所有对象,而且还需要停止应用程序,清除的空间不是连续的
相关文章推荐
- JVM结构、内存分配、垃圾回收算法、垃圾收集器
- JVM结构、内存分配、垃圾回收算法、垃圾收集器
- JVM结构、内存分配、垃圾回收算法、垃圾收集器。
- 细说JVM系列:自动内存管理内存回收:垃圾收集理论-垃圾收集算法
- JVM-内存模型及垃圾收集算法
- JVM内存回收算法以及垃圾收集器
- JVM内存常见垃圾收集算法概述
- JVM内存组成结构分配以及垃圾回收策略和算法
- Java之JVM垃圾回收 内存结构以及垃圾回收算法
- JVM内存布局、垃圾收集算法、volatile讲解
- 【理解JVM】JVM内存分块和垃圾收集算法(HotSpot)
- JVM内存模型及垃圾收集算法
- JVM性能调优-GC内存模型及垃圾收集算法
- Java之JVM垃圾回收 内存结构以及垃圾回收算法
- Java的内存结构(Memory Structure)和垃圾收集(Garbage Collection)图解
- JVM内存模型以及垃圾收集策略解析(重要)
- JVM内存模型及垃圾收集策略解析(2)
- Java的内存结构(Memory Structure)和垃圾收集(Garbage Collection)图解
- Java的内存结构(Memory Structure)和垃圾收集(Garbage Collection)图解
- JVM内存管理:深入垃圾收集器与内存分配策略