zoukankan      html  css  js  c++  java
  • Java基础--finalize()方法

    原理:

      一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法,并在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

    用途:

      1)释放通过某种创建对象方式以外的方式为对象分配的存储空间

        那么对于一切都是对象的java,这种现象是怎么产生的呢?

        主要发生在使用“本地方法”的情况下,(本地方法:一种在java中调用非java代码的方式),对于这样分配的java对象的存储空间就需要finalize()来释放内存

      2)用finalize()来检测终结条件

        例如:对象代表了一个打开的文件,在对象被回收前,应该关闭这个文件。

    ps.

      提醒jvm进行垃圾回收的方式

        1)Runtime.getRuntime.gc()

        2)System.gc()--(方法内部实现为Runtime.getRuntime.gc())

      垃圾回收的两种方式

        1)标记-清扫

        2)停止-复制

  • 相关阅读:
    ZOJ 3349 Special Subsequence
    ZOJ 3684 Destroy
    ZOJ 3820 Building Fire Stations
    HDU 5291 Candy Distribution
    HDU 3639 Hawk-and-Chicken
    HDU 4780 Candy Factory
    HDU 4276 The Ghost Blows Light
    ZOJ 3556 How Many Sets I
    技术人员的眼界问题
    神经网络和深度学习
  • 原文地址:https://www.cnblogs.com/zhanghj405/p/5818552.html
Copyright © 2011-2022 走看看