Java基础之System与Runtime

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

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

2、成员方法
System类中提供了一些系统级的操作方法

(1)public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
该方法的作用是数组拷贝,也就是将一个数组中的内容复制到另外一个数组中的指定位置,由于该方法是native方法,所以性能上比使用循环高效。
(2)public static long currentTimeMillis()
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
(3)public static void exit(int status)
该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。

(4)public static void gc()
该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。

(5)public static String getProperty(String key)
该方法的作用是获得系统中属性名为key的属性对应的值。
java.version Java 运行时环境版本
java.home Java 安装目录
os.name 操作系统的名称
os.version 操作系统的版本
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

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

//获取Java运行时相关的运行时对象
Runtime rt = Runtime.getRuntime();
System.out.println(“处理器数量:” + rt.availableProcessors()+" 个");
System.out.println(“Jvm总内存数 :”+ rt.totalMemory()+" byte");
System.out.println(“Jvm空闲内存数: “+ rt.freeMemory()+” byte”);
System.out.println(“Jvm可用最大内存数: “+ rt.maxMemory()+” byte”);

//在单独的进程中执行指定的字符串命令。
rt.exec(“notepad”);

package com.vince;

import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class SystemRuntimeDemo {

	public static void main(String[] args) {

		System.out.println("向控制台输出");
		System.err.println("出错啦");
		
		int[] num1 = {1,2,3,4,5,6,7,8};
		int[] num2 = new int[num1.length];
		//参数(源数组,源数组的起始位置 ,目标数组,目标数组的起始位置 ,长度)
		System.arraycopy(num1, 0, num2, 0, num1.length);
		System.out.println(Arrays.toString(num2));
		
		
		System.out.println(System.currentTimeMillis());
		Date nowDate = new Date(System.currentTimeMillis());
		DateFormat df = new SimpleDateFormat("HH:mm:ss");
		String now = df.format(nowDate);
		System.out.println(now);
		//退出JVM
		//System.exit(0);
		
		System.out.println(System.getProperty("java.version"));
		System.out.println(System.getProperty("java.home"));
		System.out.println(System.getProperty("os.name"));
		
		Runtime rt = Runtime.getRuntime();
		System.out.println("处理器数量:" + rt.availableProcessors()+" 个");
		System.out.println("Jvm总内存数 :"+ rt.totalMemory()+" byte");
		System.out.println("Jvm空闲内存数: "+ rt.freeMemory()+" byte");
		System.out.println("Jvm可用最大内存数: "+ rt.maxMemory()+" byte");

		//在单独的进程中执行指定的字符串命令。 
		try {
			rt.exec("notepad"); //打开记笔本
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//加载C、C++编写的类库
		//System.loadLibrary(libname) 
		
	}

}

猜你喜欢

转载自blog.csdn.net/C_time/article/details/89367011
今日推荐