java的runtime类,java中Runtime类的简单应用

1.简介

JVM中,Runtime类是唯一与JVM的运行状态相关的类,并且默认情况下提供此类的实例化对象。

由于每个JVM进程中只允许运行时类的一个对象,因此默认情况下该类的构造方法是私有化的,这表明该类使用单例设计模式,并且单例模式将提供一个静态方法来获取此类。

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

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部