Runtime类(重点)
时间:2022-06-19
本文章向大家介绍Runtime类(重点),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在每一个JVM进程之中,都会存在一个运行时的操作类的对象,而这对象所属的类型就是Runtime类。打开这个类的文档可以发现,在这个类之中并没有构造方法定义,可是按照之前所学,每个类至少有一个构造方法,而这个类的构造方法实际上存在只是不被外部看见而已,因为构造方法被私有化了,这是一个标准的单例设计模式。既然是单例设计模式则在这个类就一定会存在一个static型的方法,可以取得本类的实例化对象:public static Runtime getRuntime()。 而当取得了这个类的实例化对象之后,可以利用这个类取得一些JVM的信息,
· 取得最大可用内存:public long maxMemory(); · 总共可以使用的内存:public long totalMemory(); · 空闲的内存:public long freeMemory()。
发现取得内存信息的时候所有的数据返回的类型是long,在之前讲解基本数据类型的时候强调long型数据的使用就在两种情况:表示文件大小、表示日期时间。 在Runtime类有一个非常重要的方法:public void gc(),运行垃圾收集器,释放垃圾空间。
public class TestDemo {
public static void main(String[] args) throws Exception {
Runtime run = Runtime.getRuntime() ; // 取得对象
System.out.println("1.MAX_MEMORY:" + run.maxMemory());
System.out.println("1.TOTAL_MEMORY:" + run.totalMemory());
System.out.println("1.FREE_MEMORY:" + run.freeMemory());
String str = "" ;
for (int x = 0; x < 30000; x++) {
str += x ; // 产生垃圾
}
System.out.println("2.MAX_MEMORY:" + run.maxMemory());
System.out.println("2.TOTAL_MEMORY:" + run.totalMemory());
System.out.println("2.FREE_MEMORY:" + run.freeMemory());
run.gc() ;
System.out.println("3.MAX_MEMORY:" + run.maxMemory());
System.out.println("3.TOTAL_MEMORY:" + run.totalMemory());
System.out.println("3.FREE_MEMORY:" + run.freeMemory());
}
}
面试题:请解释一下什么叫gc()?Java是如何处理的?
GC(Garbage Collector):垃圾收集器,可以释放掉垃圾空间所占用的内存。在java之中GC有两种方式处理:一种是由JVM不定期的执行GC操作,另外一种是由用户自己手工调用Runtime类的gc()方法进行垃圾空间的释放。
- Ryu和OpenStack集成
- react+redux+webpack教程2
- C/C++ Development using Visual Studio Code, CMake and LLDB
- TensorFlow-10-基于 LSTM 建立一个语言模型
- jquery及原生javascript对jsonp解决跨域问题实例详解
- css负边距之详解
- Python进阶教程(三)
- Python进阶教程(二)
- Python进阶教程(一)
- TensorFlow-11-策略网络
- 对比requirejs更好的理解seajs
- 深入浅出Logistic Regression之二分类
- 如何自动生成文本摘要
- Kaggle 神器 xgboost
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法