System是lang包下的类,可以直接使用。
System 类包含一些有用的类字段和方法。它不能被实例化。
常用类方法
static void gc() 运行垃圾回收器。
测试代码如下:其中的Person类就是一个简单的类,只有姓名和年龄两个成员变量。
package com.system.test;
/*
* System类中有一些常用的类字段和类方法,其本身无法实例化
* 主要类方法:
* static void gc() 运行垃圾回收器。
* static void exit(int status) 终止当前正在运行的 Java 虚拟机。
* static long currentTimeMillis() 返回以毫秒为单位的当前时间。
*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
*/
public class SystemDemo_GC {
public static void main(String[] args) {
//测试垃圾回收器
//在执行JVM中的垃圾回收前,会先去调用finallize()方法,子类也可以重写方法
Person p = new Person("java", 12);
System.out.println(p); //Person [name=java, age=12]
p = null;
System.gc(); //使用完成了Person [name=java, age=12]
}
}static void exit(int status) 终止当前正在运行的 Java 虚拟机。 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
测试代码如下:
package com.system.test;
/*
* System类中有一些常用的类字段和类方法,其本身无法实例化
* 主要类方法:
* static void gc() 运行垃圾回收器。
* static void exit(int status) 终止当前正在运行的 Java 虚拟机。 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
* static long currentTimeMillis() 返回以毫秒为单位的当前时间。
*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
*/
public class SystemDemo_Exit {
public static void main(String[] args) {
//测试exit()方法
System.out.println("我喜欢JavaSE");
//使用exit()方法正常退出
System.exit(0); //0表示正常退出
System.out.println("我喜欢JavaEE");
}
}static long currentTimeMillis() 返回以毫秒为单位的当前时间。
测试代码如下:
package com.system.test;
/*
* System类中有一些常用的类字段和类方法,其本身无法实例化
* 主要类方法:
* static void gc() 运行垃圾回收器。
* static void exit(int status) 终止当前正在运行的 Java 虚拟机。 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
* static long currentTimeMillis() 返回以毫秒为单位的当前时间。
*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
*/
public class SystemDemo_currentTimeMillis {
public static void main(String[] args) {
//测试currentTimeMillis()
//我们使用时间都以1970年1月1日0点开始作为起点
//这个暂时对我们来说单独没有太大意义
//可以使用此方法来计算代码运行时间
long start = System.currentTimeMillis();
for(int i=0; i<10000; i++)
{
System.out.println("hello " + i);
}
long end = System.currentTimeMillis();
System.out.println("运行消耗" + (end-start) +"毫秒");
}
}static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
命名不正确是因为这是一个老的方法,用的地方很多,导致后来没办法修改了,只能将就
测试代码如下:
package com.system.test;
import java.util.Arrays;
/*
* System类中有一些常用的类字段和类方法,其本身无法实例化
* 主要类方法:
* static void gc() 运行垃圾回收器。
* static void exit(int status) 终止当前正在运行的 Java 虚拟机。 终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
* static long currentTimeMillis() 返回以毫秒为单位的当前时间。
*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
* 命名不正确是因为这是一个老的方法,用的地方很多,导致后来没办法修改了,只能将就
* 参数:
* src - 源数组。
* srcPos - 源数组中的起始位置。
* dest - 目标数组。
* destPos - 目标数据中的起始位置。
* length - 要复制的数组元素的数量。
*/
public class SystemDemo_Arraycopy {
public static void main(String[] args) {
//测试arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
//这里必须要建立两个数组
int[] arr1 = {1,2,3,4,5};
int[] arr2 = {23,34,33,45,35};
//调用方法
System.arraycopy(arr1, 1, arr2, 2, 2);
//输出查看
System.out.println(Arrays.toString(arr1));
System.out.println(Arrays.toString(arr2));
}
}原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。