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手工调用。

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

  • 相关阅读:
    NET 连接池救生员(转载:M$)
    gitflow学习总结
    Apache Zookeeper
    ZZ: C++实现读取整行文本和每次只读入一个单词
    ZZ: C C++ string转char*
    memset
    prinf
    ZZ: C++ int转string from http://pppboy.blog.163.com/blog/static/302037962010378296766/
    XHTML下,JS浮动代码失效的问题 心境
    13个超酷的js显示时间效果 心境
  • 原文地址:https://www.cnblogs.com/moreforests/p/13476468.html
Copyright © 2011-2022 走看看