您的位置:首页 > 其它

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能到达的对象,标记为存活。
     清除:遍历堆中所有的对象,将没有标记的对象全部清除。

缺陷:效率低下,需要遍历堆中所有对象,而且还需要停止应用程序,清除的空间不是连续的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: