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:关机并重启
    }
}

运行结果:


目录
相关文章
|
14天前
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
43 0
|
16天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
2天前
|
Java 数据库连接
深入理解Java异常处理机制
【4月更文挑战第24天】本文将探讨Java中的异常处理机制,包括异常的概念、分类、捕获和抛出等方面。通过深入了解异常处理机制,可以帮助我们编写更加健壮的程序,提高代码的可读性和可维护性。
|
2天前
|
Java API
Java基础&API(3)
Java基础&API(3)
|
2天前
|
Java 机器人 API
Java基础&常用API(1)
Java基础&常用API(1)
|
2天前
|
安全 Java 程序员
|
6天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
24 11
|
8天前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题
|
10天前
|
存储 安全 Java
说说Java 8 引入的Stream API
说说Java 8 引入的Stream API
12 0
|
10天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【4月更文挑战第16天】本文将介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁、易读。Stream API是Java 8中引入的一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而使代码更加简洁、高效。本文将通过实例代码详细讲解这两个新特性的使用方法和优势。