Java常用API---Runtime(消息机制)含代码例子

简介: 私有化构造方法,不能被实例化

一、概念讲解

翻译

运行时间

详解

私有化构造方法,不能被实例化

调用方法

直接调用

二、功能作用

1.终止虚拟机运行

2.获取cpu线程数

3.JVM能从系统中获取的内存大小,单位为byte

4.JVM已经从系统中获取的内存大小

5.JVM剩余内存大小

6.打开cmd命令(例如打开记事本,定时关机重启等)

7.关机命令

三、代码例子

1.终止虚拟机(JVM)运行

语法:

Runtime.getRuntime().exit(0);

package three;
public class kk {
    public static void main(String[] args) {
        //终止虚拟机运行
        System.out.println("运行1");
        Runtime.getRuntime().exit(0);//0正常终止,非0异常终止
        System.out.println("运行2");
    }
}

运行结果:

运行1

注释:这个方法和System很像,都是终止虚拟机的运行。区别就是Runtime更底层

2.获取cpu线程数

语法:

Runtime.getRuntime().availableProcessors()

package three;
public class kk {
    public static void main(String[] args) {
        //获取cpu线程数
        System.out.println(Runtime.getRuntime().availableProcessors());//16
    }
}

运行结果:

16

3.JVM能从系统中获取的内存大小,单位为byte

语法:

Runtime.getRuntime().maxMemory()

package three;
public class kk {
    public static void main(String[] args) {
        //JVM能从系统中获取的内存大小,单位为byte
        System.out.println(Runtime.getRuntime().maxMemory()/1024/1024);//要化为兆,除与两次1024
    }
}

运行结果:

4064

4.JVM已经从系统中获取的内存大小

语法:

Runtime.getRuntime().totalMemory()

package three;
public class kk {
    public static void main(String[] args) {
        //JVM已经从系统中获取的内存大小,初始单位为byte
        System.out.println(Runtime.getRuntime().totalMemory()/1024/1024);//要化为兆,除与两次1024
    }
}

运行结果:

256

5.JVM剩余内存大小

语法:

Runtime.getRuntime().freeMemory()

package three;
public class kk {
    public static void main(String[] args) {
        //JVM剩余内存大小,初始单位为byte
        System.out.println(Runtime.getRuntime().freeMemory()/1024/1024);//要化为兆,除与两次1024
    }
}

251

6.打开cmd命令

打开记事本:

语法:

Runtime.getRuntime().exec("这里写cmd命令");

package three;
import java.io.IOException;
public class kk {
    public static void main(String[] args) throws IOException {
        //打开cmd命令
        Runtime.getRuntime().exec("notepad");//要化为兆,除与两次1024
    }
}

运行结果:


7.关机命令

语法:

System.out.println(Runtime.getRuntime().exec("shutdown -指定参数"));

package three;
import java.io.IOException;
public class kk {
    public static void main(String[] args) throws IOException {
        //打开cmd命令
        System.out.println(Runtime.getRuntime().exec("shutdown -s -t 3600"));//指定3600s后关机
        //shutdown命令+下面参数
        //-s:默认一分钟后关机
        //-s -t :指定时间关机
        //-a:取消关机
        //-r:关机并重启
    }
}

运行结果:


目录
相关文章
|
4天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
7天前
|
Java 编译器
探索Java中的异常处理机制
【10月更文挑战第35天】在Java的世界中,异常是程序运行过程中不可避免的一部分。本文将通过通俗易懂的语言和生动的比喻,带你了解Java中的异常处理机制,包括异常的类型、如何捕获和处理异常,以及如何在代码中有效地利用异常处理来提升程序的健壮性。让我们一起走进Java的异常世界,学习如何优雅地面对和解决问题吧!
|
6天前
|
Java 数据库连接 开发者
Java中的异常处理机制及其最佳实践####
在本文中,我们将探讨Java编程语言中的异常处理机制。通过深入分析try-catch语句、throws关键字以及自定义异常的创建与使用,我们旨在揭示如何有效地管理和响应程序运行中的错误和异常情况。此外,本文还将讨论一些最佳实践,以帮助开发者编写更加健壮和易于维护的代码。 ####
|
10天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
32 4
|
12天前
|
安全 IDE Java
Java反射Reflect机制详解
Java反射(Reflection)机制是Java语言的重要特性之一,允许程序在运行时动态地获取类的信息,并对类进行操作,如创建实例、调用方法、访问字段等。反射机制极大地提高了Java程序的灵活性和动态性,但也带来了性能和安全方面的挑战。本文将详细介绍Java反射机制的基本概念、常用操作、应用场景以及其优缺点。 ## 基本概念 ### 什么是反射 反射是一种在程序运行时动态获取类的信息,并对类进行操作的机制。通过反射,程序可以在运行时获得类的字段、方法、构造函数等信息,并可以动态调用方法、创建实例和访问字段。 ### 反射的核心类 Java反射机制主要由以下几个类和接口组成,这些类
30 2
|
14天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
47 3
|
14天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
13天前
|
Java 开发者
深入理解Java异常处理机制
【10月更文挑战第29天】在Java的世界中,异常处理如同生活的调味品,不可或缺。它确保了程序在遇到错误时不会崩溃,而是优雅地继续运行或者给出提示。本文将带你领略异常处理的奥秘,从基础的try-catch语句到高级的自定义异常,让你在面对程序中的各种“意外”时,能够从容应对。
|
运维 监控 Java
Java版阿里云通信短信发送API接口实例(1)
Java版阿里云通信短信发送API接口实例(新)
1116 0
Java版阿里云通信短信发送API接口实例(1)