System与Runtime类

System与Runtime类

System:

System代表系统,系统级的很多属性和控制方法都放在该类的内部,该类位于java.lang包。

1.成员变量

System类中包含in,out和err三个成员变量,分别代表标准输入流(键盘输入)。标准输出流(键盘输出),和标准错误输出流

2.成员方法

System类中提供了一系列系统级的操作方法

(1).public static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length):

该方法是数组拷贝,也就是将一个数组中的内容复制到另外一个数组中的指定位置,性能比循坏高效

(2).public static long currentTimeMillis():

该方法的作用是返回当前计算机时间,时间计算格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数

(3).public static String getProperty(String key):

该方法的作用是获得系统中的属性key对应的值

java.version java运行环境版本

java.home java安装的目录

os.name 操作系统的名称

os.version 操作系统的版本

user.name 用户的账户名称

user.home 用户的主目录

user.dir 用户的当前工作目录

package com.lili.systemRuntime;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

/**
 * @author: QiJingJing
 * @create: 2021/7/6
 */
public class Test1 {
    public static void main(String[] args) {
        System.out.println("标准输入流");
        System.err.println("错误输出流");

        int[] a = {1, 2, 3, 4};
        int[] newArray = new int[a.length];
        // 参数(原数组,原数组的起始位置,目标数组,目标数组的起始位置,长度)
        System.arraycopy(a, 0, newArray, 0, a.length);
        System.out.println(Arrays.toString(newArray));//[1, 2, 3, 4]
        Date date = new Date(System.currentTimeMillis());
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S");
        String format = dateFormat.format(date);
        System.out.println(format);
        // 退出jvm
        //System.exit(0);
        System.out.println(System.getProperty("java.version"));//1.8.0_151
        System.out.println(System.getProperty("java.home"));//C:\Program Files\Java\jdk1.8.0_151\jre
    }

}

Runtime:

每个java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接

package com.lili.systemRuntime;

import java.io.IOException;

/**
 * Runtime类
 * @author: QiJingJing
 * @create: 2021/7/6
 */
public class Test2 {
    public static void main(String[] args) {
        // 获取java运行时相关的运行时对象
        Runtime runtime = Runtime.getRuntime();
        System.out.println("处理器数量" + runtime.availableProcessors() + "个");
        System.out.println("jvm总内存数" + runtime.totalMemory() + "byte");
        System.out.println("jvm空闲内存数" + runtime.freeMemory() + "byte");
        System.out.println("jvm可用最大内存数" + runtime.maxMemory() + "byte");
        // 在单独的进程中执行指定的字符串命令
        try {
            runtime.exec("notepad");//打开记事本
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

posted @   JamieChyi  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示