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

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

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

Runtime类的简单应用的更多相关文章

  1. java中Runtime类和Process类的简单介绍

    在java.lang包当中定义了一个Runtime类,在java中对于Runtime类的定义如下: Java code public class Runtime extends Object 每个 J ...

  2. java基础---->Runtime类的使用(一)

    这里面我们对java中的Runtime类做一个简单的了解介绍.若不常想到无常和死,虽有绝顶的聪明,照理说也和呆子一样. Runtimeo类的使用 一.得到系统内存的一些信息 @Test public ...

  3. Java中RunTime类介绍

    Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Runtime实例,该类会被自动创建,我们可以通过Runtime.getRuntime() 方法来获取当前程序的Runtime ...

  4. java中Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  5. Runtime类 调用windows程序。

    import java.io.*; public class webcyz { /** * @param args */ public static void main(String[] args) ...

  6. 适配器、工厂模式、线程池、线程组、互斥锁、Timer类、Runtime类、单例设计模式(二十四)

    1.多线程方法 * Thread 里面的俩个方法* 1.yield让出CPU,又称为礼让线程* 2.setPriority()设置线程的优先级 * 优先级最大是10,Thread.MAX_PRIORI ...

  7. DataAccess通用数据库访问类,简单易用,功能强悍

    以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...

  8. 深入研究java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  9. 浅析Java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  10. java中Color类的简单总结

    java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...

随机推荐

  1. 论文《policy-gradient-methods-for-reinforcement-learning-with-function-approximation 》的阅读——强化学习中的策略梯度算法基本形式与部分证明

    最近组会汇报,由于前一阵听了中科院的教授讲解过这篇论文,于是想到以这篇论文为题做了学习汇报.论文<policy-gradient-methods-for-reinforcement-learni ...

  2. AQS专题

    1.背景 2.预备知识 2.1.park.unpark.interrupt.isInterrupted.interrupted方法的理解 一:park.unpark 1.park.unpark它不是T ...

  3. 武汉市委郭元强书记、盛阅春代市长会见白鲸开源CEO郭炜等嘉宾代表

    2024年6月14日,第二届软件创新发展大会在中国武汉举行.大会云集了来自全国的书数百位院士.专家.知名软件企业负责人,包括中国工程院院士倪光南.中国科学院院士陈十一.国家工业信息安全发展研究中心总工 ...

  4. 不同浏览器input file样式不一样

    在开发项目过程中会碰到不同浏览器input file样式不一样. 经过分析,打算都用IE上面的附件上传样式,  方案如下: 1.在IE下截个如上面的上传按钮,并保存. 2.判断浏览器类型,如果是非IE ...

  5. Ubuntu APT sources.list 文件格式解释

    单行风格(传统) 传统的 sourses.list 文件使用单行风格配置,下面是两条单行风格的配置项: deb http://archive.ubuntu.com/ubuntu jammy main ...

  6. C++ lambda 引用捕获临时对象引发 core 的案例

    今天复习前几年在项目过程中积累的各类技术案例,有一个小的 coredump 案例,当时小组里几位较资深的同事都没看出来,后面是我周末查了两三个小时解决掉的,今天再做一次系统的总结,给出一个复现的案例代 ...

  7. FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生

    ​自从互联网普及之后,用于视频直播的流媒体技术就发展起来.这几十年中,比较有影响的主要有MMS.RTSP.RTMP.HLS.SRT.RIST几种,分别介绍如下. 1.MMS协议 MMS全称Micros ...

  8. Feign 动态设定服务器名称 与 调用接口

    1. 新增编码器(由于使用了动态的Feign,所以不能像正常使用Feign一样指定configuration配置编码器) import feign.RequestTemplate; import fe ...

  9. Tomcat——idea集成本地Tomcat

    IDEA 集成本地Tomcat 添加配置      添加本地Tomcat服务器      配置本地Tomcat路径      部署项目             在 webapp 中添加一个简单的页面作 ...

  10. 普元中间件Primeton AppServer6.5安装(Windows)

    本文在Windows环境下安装普元中间件Primeton AppServer6.5(以下简称PAS) 一.安装前准备 1.1使用软件版本 Primeton_AppServer_6.5_Enterpri ...