java手动销毁对象_java对象的销毁详解

java手动销毁对象_java对象的销毁详解

对象使用完之后需要对其进行清除,下面的文章内容就对这个方面的知识进行了较为详细的介绍,一起来看看这个方面的知识吧。

前面讲到了清除,对象的清除指的就是释放对象占用的内存。

在创建对象的时候,用户必须使用new操作符为对象分配内存,但是要注意了,在清除对象的时候,由系统自动进行内存回收,不需要用户额外处理,这也是Java语言特色之一,在某种程度上方便了程序员对内存的管理。

Java语言的内存自动回收称为垃圾回收(Garbage Collection)机制,简称GC。

垃圾回收机制是指JVM用于释放那些不再使用的对象所占用的内存。

Java语言并不要求JVM有GC,也没有规定GC怎样工作,但是,常用的JVM都有GC,并且很多的GC都使用类似的算法管理内存和执行回收操作。

一个对象被当作垃圾回收主要有以下的两种情况:

1、对象的引用超过其作用范围{

Object o = new Object(); // 对象o的作用范围,超过这个范围对象将被视为垃圾

}

2、对象被赋值为null{

Object o = new Object();

o = null; // 对象被赋值为null将被视为垃圾

}

在java的Object类当中,提供了一个protected类型的finalize()方法,所以的话,任何的java类都能够覆盖这个方法,在这个方法中进行释放对象所占有的相关资源的操作。

在Java虚拟机的堆区,每个对象都可能处于以下几种状态之一:

1、可触及状态:在一个对象被创建之后,只要程序当中还有引用变量引用它,那么它就始终处于可触及状态;

2、可复活状态:当程序不再有任何引用变量引用该对象时,该对象就进入可复活状态,在这样的状态下,垃圾回收器会准备释放它所占用的内存,在释放之前,会调用它及其他处于可复活状态的对象的finalize()方法,这些finalize()方法有可能使该对象重新转到可触及状态;

3、不可触及状态:当Java虚拟机执行完所有可复活对象的finalize()方法之后,假如,这些方法都没有使该对象转到可触及状态,垃圾回收器才会真正回收它占用的内存。

注意一下了,调用System.gc()或者是Runtime.gc()方法也不能保证回收操作一定执行,它只是提高了Java垃圾回收器尽快回收垃圾的可能性。

对于java对象的销毁就介绍到这里了,更多java基础内容,请继续通过奇Q工具网来进行了解和学习吧,希望上面的内容可以对你的java学习过程有所帮助。

推荐阅读:

相关推荐

《魔兽世界》怀旧服魔暴龙刷新介绍
365官方入口-app下载

《魔兽世界》怀旧服魔暴龙刷新介绍

📅 09-06 👁️ 7739
刺猬的寿命有几年,刺猬的寿命是多少年
365官方入口-app下载

刺猬的寿命有几年,刺猬的寿命是多少年

📅 07-10 👁️ 2430
Java中Vector的线程安全与操作详解
365bet足球赌博

Java中Vector的线程安全与操作详解

📅 08-01 👁️ 3430
童男是什么意思
365bet足球赌博

童男是什么意思

📅 08-23 👁️ 1415
15年从网红到美国底层移民:凤姐的沉浮人生
365bet足球赌博

15年从网红到美国底层移民:凤姐的沉浮人生

📅 07-27 👁️ 960
国美金融借钱平台有哪些?这几种方案你一定要知道
best365官网登陆

国美金融借钱平台有哪些?这几种方案你一定要知道

📅 09-18 👁️ 3722
2026年国际足协世界杯外围赛 (欧洲区)
best365官网登陆

2026年国际足协世界杯外围赛 (欧洲区)

📅 07-24 👁️ 3928
OPPO Reno7 SE 5G 科技美学 焕然出众
365官方入口-app下载

OPPO Reno7 SE 5G 科技美学 焕然出众

📅 08-29 👁️ 8231