jvm内存模型和垃圾回收(java垃圾回收机制)java基础 / Java内存管理与垃圾回收...

wufei123 发布于 2024-06-28 阅读(9)

垃圾回收机制内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放  对象空间的分配:使用new关键字创建对象即可  对象空间的释放:将对象赋值null即可垃圾回收器将负责回收所有”不可达”对象的内存空间。

·垃圾回收过程  任何一种垃圾回收算法一般要做两件基本事情: 1. 发现无用的对象 2. 回收无用对象占用的内存空间  垃圾回收机制保证可以将“无用的对象”进行回收无用的对象指的就是没有任何变量引用该对象。

Java的垃圾回收器通过相关算法发现无用对象,并进行清除和整理垃圾回收相关算法:1. 引用计数法2. 引用可达法(根搜索算法)通用的分代垃圾回收机制分代垃圾回收机制,是基于这样一个事实:不同的对象的生命周期是不一样的。

因此,不同生命周期的对象可以采取不同的回收算法,以便提高回收效率我们将对象分为三种状态:年轻代、年老代、持久代JVM将堆内存划分为 Eden、Survivor 和 Tenured/Old 空间 1、新创建的对象,绝大多数都会存储在Eden中,

2、当Eden满了(达到一定比例)不能创建新对象,则触发垃圾回收(GC),将无用对象清理掉, 然后剩余对象复制到某个Survivor中,如S1,同时清空Eden区 3、当Eden区再次满了,会将S1中的不能清空的对象存到另外一个Survivor中,如S2,

同时将Eden区中的不能清空的对象,也复制到S1中,保证Eden和S1,均被清空 4、重复多次(默认15次)Survivor中没有被清理的对象,则会复制到老年代Old(Tenured)区中,。

5、当Old区满了,则会触发一个一次完整地垃圾回收(FullGC),之前新生代的垃圾回收称为(minorGC)JVM调优和Full GC  在对JVM调优的过程中,很大一部分工作就是对于Full GC的调节。

有如下原因可能导致Full GC: 1.年老代(Tenured)被写满 2.持久代(Perm)被写满 3.System.gc()被显式调用(程序建议GC启动,不是调用GC)4一次GC之后Heap的各域分配策略动态变化

开发中容易造成内存泄露的操作:1、创建大量无用对象各种连接对象(IO流对象、数据库连接对象、网络连接对象)未关闭2、静态集合类的使用3、监听器的使用垃圾回收机制内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放。

  对象空间的分配:使用new关键字创建对象即可  对象空间的释放:将对象赋值null即可垃圾回收器将负责回收所有”不可达”对象的内存空间·垃圾回收过程  任何一种垃圾回收算法一般要做两件基本事情: 1. 发现无用的对象

2. 回收无用对象占用的内存空间  垃圾回收机制保证可以将“无用的对象”进行回收无用的对象指的就是没有任何变量引用该对象Java的垃圾回收器通过相关算法发现无用对象,并进行清除和整理垃圾回收相关算法:。

1. 引用计数法2. 引用可达法(根搜索算法)通用的分代垃圾回收机制分代垃圾回收机制,是基于这样一个事实:不同的对象的生命周期是不一样的因此,不同生命周期的对象可以采取不同的回收算法,以便提高回收效率我们将对象分为三种状态:年轻代、年老代、持久代。

JVM将堆内存划分为 Eden、Survivor 和 Tenured/Old 空间 1、新创建的对象,绝大多数都会存储在Eden中, 2、当Eden满了(达到一定比例)不能创建新对象,则触发垃圾回收(GC),将无用对象清理掉,

然后剩余对象复制到某个Survivor中,如S1,同时清空Eden区 3、当Eden区再次满了,会将S1中的不能清空的对象存到另外一个Survivor中,如S2, 同时将Eden区中的不能清空的对象,也复制到S1中,保证Eden和S1,均被清空。

4、重复多次(默认15次)Survivor中没有被清理的对象,则会复制到老年代Old(Tenured)区中, 5、当Old区满了,则会触发一个一次完整地垃圾回收(FullGC),之前新生代的垃圾回收称为(minorGC)

JVM调优和Full GC  在对JVM调优的过程中,很大一部分工作就是对于Full GC的调节有如下原因可能导致Full GC: 1.年老代(Tenured)被写满 2.持久代(Perm)被写满 3.System.gc()被显式调用(程序建议GC启动,不是调用GC)。

4.一次GC之后Heap的各域分配策略动态变化开发中容易造成内存泄露的操作:1、创建大量无用对象。各种连接对象(IO流对象、数据库连接对象、网络连接对象)未关闭2、静态集合类的使用3、监听器的使用

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻48776