zoukankan      html  css  js  c++  java
  • Runtime类的简单应用

    1.描述

    Runtime:描述运行时状态。

      在整个JVM中,Runtime类是唯一一个与JVM运行状态有关的类,且默认提供一个该类的实例化对象。

      由于在每一个JVM进程中只允许提供一个Runtime类的对象,所以该类的构造方法被默认私有化,指明该类使用的是单例设计模式,且单例模式会提供一个static方法获取本类实例。

    2.获取

    获取实例化对象:

    public static Runtime getRuntime()  //返回与当前Java应用程序关联的运行时对象。 Runtime类的大多数方法都是实例方法,必须针对当前的运行时对象进行调用。

    3.方法介绍

    • 获取最大可用内存空间:public long maxMemory() ;
    • 获取可用内存空间:public long totalMemory() ;
    • 获取空闲内存空间:public long freeMemory() ;
    • 手工进行GC处理:public void gc() 。

    具体描述参考API文档。 

     4.示例-观察内存状态

    1     Runtime runtime = Runtime.getRuntime(); //获取实例化对象
    2     System.out.println(runtime.availableProcessors()); //返回可用于Java虚拟机的处理器数量  (CPU内核数)
    3     System.out.println("【1】MAX_MEMORY:" + runtime.maxMemory());
    4     System.out.println("【1】TOTAL_MEMORY:" + runtime.totalMemory());
    5     System.out.println("【1】FREE_MEMORY:" + runtime.freeMemory());
    6     runtime.gc(); // 垃圾回收
    7     System.out.println("【2】MAX_MEMORY:" + runtime.maxMemory());
    8     System.out.println("【2】TOTAL_MEMORY:" + runtime.totalMemory());
    9     System.out.println("【2】FREE_MEMORY:" + runtime.freeMemory());

     通过计算获取到的 MAX_MEMORY、TOTAL_MEMORY 对应值,可分别获取本机系统内存的值;

    计算方法:

      由于 Runtime 类中的 maxMemory()、totalMemory()、freeMemory()方法获取的近似结果是以 字节 为单位,所以将获取到的值分别除以 1024的3次方 得到以G为单位的数值。

    结论:

    • maxMemory()  默认配置为本机系统内存的四分之一
    • totalMemory()  默认配置为本机系统内存的六十四分之一

     5.GC

    GCGarbage Collector)垃圾收集器,是可以由系统自动调用的垃圾释放功能,或者使用Runtime类中的gc手工调用。

    该文章部分内容来源于其他资料,如有侵权或对您造成困扰,还请及时联系我删除相关内容,带来不便还请谅解。

  • 相关阅读:
    MySQL集群在断网后再启动报"Unable to start missing node group"问题处理
    由于OCR文件损坏造成Oracle RAC不能启动的现象和处理方法
    使用dbms_scheduler包创建定时任务
    Oracle_12c_RAC_service_died问题分析处理
    MySQL使用正则表达式比较字段中的数字
    crontab不能正确执行的问题
    Oracle 12c SYSAUX表空间不足处理-清理audsys.cli_swp$a9b5f52c$1$1表
    HyperV上的Linux虚拟机启动报panic_early_exception错误
    Nagios NSclient Failed to get CPU value: 238(_total)6: Failed to get mutex :(
    两数相加II--链表
  • 原文地址:https://www.cnblogs.com/moreforests/p/13476468.html
Copyright © 2011-2022 走看看