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
GC(Garbage Collector)垃圾收集器,是可以由系统自动调用的垃圾释放功能,或者使用Runtime类中的gc手工调用。
该文章部分内容来源于其他资料,如有侵权或对您造成困扰,还请及时联系我删除相关内容,带来不便还请谅解。
Runtime类的简单应用的更多相关文章
- java中Runtime类和Process类的简单介绍
在java.lang包当中定义了一个Runtime类,在java中对于Runtime类的定义如下: Java code public class Runtime extends Object 每个 J ...
- java基础---->Runtime类的使用(一)
这里面我们对java中的Runtime类做一个简单的了解介绍.若不常想到无常和死,虽有绝顶的聪明,照理说也和呆子一样. Runtimeo类的使用 一.得到系统内存的一些信息 @Test public ...
- Java中RunTime类介绍
Runtime 类代表着Java程序的运行时环境,每个Java程序都有一个Runtime实例,该类会被自动创建,我们可以通过Runtime.getRuntime() 方法来获取当前程序的Runtime ...
- java中Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
- Runtime类 调用windows程序。
import java.io.*; public class webcyz { /** * @param args */ public static void main(String[] args) ...
- 适配器、工厂模式、线程池、线程组、互斥锁、Timer类、Runtime类、单例设计模式(二十四)
1.多线程方法 * Thread 里面的俩个方法* 1.yield让出CPU,又称为礼让线程* 2.setPriority()设置线程的优先级 * 优先级最大是10,Thread.MAX_PRIORI ...
- DataAccess通用数据库访问类,简单易用,功能强悍
以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...
- 深入研究java.lang.Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
- 浅析Java.lang.Runtime类
一.概述 Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 一般不能实例化一个Runtime对象, ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
随机推荐
- 使用浪潮AI计算平台之分布式计算(Tensorflow框架下 PS/Worker模式下的异步计算)
虽然Tensorflow一直都是支持分布式计算的,但是由于只有一台电脑,一个GPU,所以别说分布式的tensorflow的使用了,就是单机多卡都是没有使用过的,由于后来可以有机会使用这个浪潮的AI计算 ...
- .gitignore文件的使用方法(学习总结版)
平时总是喜欢把日常学习的代码以代码库的形式上传到Gitee或Github上(Github上的代码正逐渐迁移至Gitee上),但是有时候总有一些中间编译的文件不行要一起上传,原有有两个: 1.是不行Gi ...
- [ZJOI2010] 基站选址 题解
前言 题目链接:洛谷. 题意简述 [ZJOI2010] 基站选址. 有 \(N\) 个村庄坐落在一条直线上,第 \(i\) 个村庄距离第 \(1\) 个村庄的距离为 \(D_i\).需要在这些村庄中建 ...
- LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发 1. Ollama 部署的本地模型() Ollama 是一个开源框架,专为在本地机 ...
- 瑞芯微rk356x板子快速上手
@ 目录 rk3568 CPU GPU NPU VPU 一.编译环境要求 二.编译前准备 0)开发板型号 1)安装第三方编译工具 2)设置adb路径 3)安装USB驱动DriverAssitant_v ...
- .NET中各种线程同步锁
编程编的久了,总会遇到多线程的情况,有些时候我们要几个线程合作完成某些功能,这时候可以定义一个全局对象,各个线程根据这个对象的状态来协同工作,这就是基本的线程同步. 支持多线程编程的语言一般都内置了 ...
- DPDK简介
DPDK简介 DPDK(Data Plane Development Kit)数据平面开发工具包,是一个开源软件项目.DPDK通过维护一系列能够加速多核CPU数据包处理的库,提供数据处理框架.DPDK ...
- 基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型
基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型 UIE模型简介 UIE优势 应用示例 UIE开箱即用 UIE适用抽取示例 命名实体识别(Named Entity Recognit ...
- SpringMVC获取请求参数
目录 通过ServletAPI获取 通过控制器方法的形参获取请求参数 @RequestParam @RequestHeader @CookieValue 通过POJO获取请求参数 解决获取请求参数的乱 ...
- spark 怎么读写 elasticsearch
参考文章: https://www.bmc.com/blogs/spark-elasticsearch-hadoop/ https://blog.pythian.com/updating-elasti ...