本文共 2832 字,大约阅读时间需要 9 分钟。
System类包含几个有用的类字段和方法。 它不能被实例化。
System类提供的System包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 一种加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。
方法等:
static void | ( src, int srcPos, dest, int destPos, int length) 将指定源数组中的数组从指定位置复制到目标数组的指定位置。 |
static long | () 返回当前时间(以毫秒为单位)。 |
static void | (int status) 终止当前运行的Java虚拟机。 |
static void | () 运行垃圾回收器。 |
static | () 确定当前的系统属性。 |
static | ( key) 获取指定键指示的系统属性。 |
1、arraycopy 数组复制方法
参数
src - 源数组。 srcPos - 源数组中的起始位置。 dest - 目标数组。 destPos - 目的地数据中的起始位置。 length - 要复制的数组元素的数量。public static void main(String[] args) { int[] src = {1,2,3,4,5,6,7,8,9,10}; int[] dest = new int[10]; System.arraycopy(src, 3, dest,5,4); for (int i : dest) { System.out.print(dest[i] + "-"); //0-0-0-0-0-0-4-5-6-0- } }
2、currentTimeMillis:获取系统当前毫秒值
public static void main(String[] args) { long start = System.currentTimeMillis(); int[] src = {1,2,3,4,5,6,7,8,9,10}; int[] dest = new int[10]; System.arraycopy(src, 3, dest,5,4); for (int i : dest) { System.out.print(dest[i] + "-"); //0-0-0-0-0-0-4-5-6-0- } long end = System.currentTimeMillis(); System.out.println("程序运行时间为毫秒:"+(end-start)); //1 }
3、exit:终止当前运行的Java虚拟机
该参数作为状态代码; 按照惯例,非零状态码表示异常终止。int[] src = {1,2,3,4,5,6,7,8,9,10}; int[] dest = new int[10]; System.exit(0);
4、gc:运行垃圾回收器。加深理解参考文章:
用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
调用 System.gc() 方法,不一定能自动调用finalize()方法进行垃圾回收。public class HelloWorld { //清除垃圾时,会默认调用被清空对象的finalize方法。 @Override public void finalize() throws Throwable { System.out.println("垃圾来回收了"); } public static void main(String[] args) { new HelloWorld(); System.gc(); }}
5、getProperties() getProperty(String key) 获取当前的系统属性
System.out.println(System.getProperties()); System.out.println(System.getProperty("os.name")); // Windows 10
各个属性关系对应图如下:
每个Java应用程序都有一个Runtime类的Runtime ,允许应用程序与运行应用程序的环境进行接口。 当前运行时可以从getRuntime方法获得。
应用程序无法创建自己的此类的实例。
== 单例设计模式 ==
方法等:
int | () 返回可用于Java虚拟机的处理器数量。 |
| ( command) 在单独的进程中执行指定的字符串命令。 |
void | (int status) 通过启动其关闭序列来终止当前正在运行的Java虚拟机。 |
long | () 返回Java虚拟机中的可用内存量。 |
void | () 运行垃圾回收器。 |
static | () 返回与当前Java应用程序关联的运行时对象。 |
long | () 返回Java虚拟机将尝试使用的最大内存量。 |
long | () 返回Java虚拟机中的内存总量。 |
1、测试demo
public static void main(String[] args) { Runtime runtime = Runtime.getRuntime(); // 获取当前程序的runtime System.out.println(runtime.availableProcessors()); // 返回可用于Java虚拟机的处理器数量。 System.out.println(runtime.maxMemory()); // 返回Java虚拟机将尝试使用的最大内存量。 System.out.println(runtime.freeMemory()); // 返回Java虚拟机中的可用内存量。 System.out.println(runtime.totalMemory()); // 返回Java虚拟机中的内存总量。 try { runtime.exec("notepad.exe");//打开记事本。 } catch (IOException e) { e.printStackTrace(); } }====81886912512124876680128974848
ends ~
转载地址:http://bncgn.baihongyu.com/