Runtime--程序与系统环境相关方法

本文介绍了一个Java程序,该程序能够打印系统的日期时间、系统属性,并将这些信息存储到一个外部文件中。此外,还展示了如何使用Runtime类来获取Java虚拟机的内存使用情况,包括最大内存、已用内存等信息,以及如何调用其他系统命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package ioc;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Date;
import java.util.Properties;


/**
 * @Author:zhuo
 * @Date:2018/4/27 11:47
 */


public class SystemInfoPrint {

    public static void main(String[] args) {


        /**
         * 1.打印配置文件到外部文件及标准输出
         * 2.介绍runtime的内存概念
         * 3.介绍runtime的其他方法
         */

        // 1.打印配置
        System.out.println(new Date());
        Properties p = System.getProperties(); // 获取系统属性
        Writer writer = null;
        try {
            writer = new PrintWriter("system_info.txt");
            p.store(writer,null);  //存储配置到外部对象文件中
        } catch (IOException e) {
            e.printStackTrace();
        }

        p.list(System.out); //在标准输出流中打印properties的属性清单





        // 每个Java应用程序都有一个Runtime类的Runtime ,允许应用程序与运行应用程序的环境进行交互。
        // 当前运行时可以从getRuntime获取。应用程序无法创建自己的此类的实例。
        Runtime runtime = Runtime.getRuntime();  // 获取运行实例
        //2.内存使用相关
        System.out.println("下面打印内存使用情况");
        // 虚拟机当前可用的最大内存maxMemory,通过向操作系统申请获得。如果没有通过选项配置,是一定的。单位为:MB
        System.out.println("最大内存"+runtime.maxMemory()/1024/1024);
        // 虚拟机当前运行程序使用的内存,单位为:MB
        System.out.println("已用内存"+runtime.totalMemory()/1024/1024);


        //3.其他重要的runtime方法介绍
        System.out.println(runtime.availableProcessors());//返回可用于java虚拟机的处理器数量
        // exec() 一连串方法,用于开启子进程
        try {
            byte[] buff = runtime.exec("ping " + "www.baidu.com").getInputStream().readAllBytes(); // 测试网络连接
            String info = new String(buff);
            System.out.println(info);   //打印ping的结果, 根据平台编码,可能产生中文乱码
        } catch (IOException e) {
            e.printStackTrace();
        }
        //runtime.load(String filename);   加载作为动态库的指定文件名。
        //loadLibrary(String libname); 加载具有指定库名的动态库,关于java如何调用动态库下一节将为大家介绍
        //halt​(int status); 状态码status<0表示非正常终止 ,函数强制终止当前正在运行的Java虚拟机,慎用
        //void gc(); 垃圾收集器 ,主动调用无法立即进行垃圾清理,只是提示VM需要清理了,何时清理由VM确定
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值