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

运行结果:


目录
相关文章
|
2月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
354 5
|
2月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
252 115
|
2月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
182 98
|
2月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
265 43
|
2月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
378 94
|
2月前
|
安全 Java 容器
告别繁琐判空:Optional让你的Java代码更优雅
告别繁琐判空:Optional让你的Java代码更优雅
|
3月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
435 3
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
174 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
198 1
|
3月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案