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)停止-复制

  • 相关阅读:
    桃花扇
    望故乡
    Unity资源加载方式总结
    [Spark]-RDD详解之变量&操作
    [Spark]-RDD之创建
    [Spark]-RDD初识
    [Spark]-编译(2.3.1)&部署(YARN-Cluster)
    [Spark]-背景
    [Hive]-常规优化以及执行计划解析
    [转载]线上应用故障排查之一:高memory占用
  • 原文地址:https://www.cnblogs.com/zhanghj405/p/5818552.html
Copyright © 2011-2022 走看看