java基础 —— System类的概述和方法使用

System类的概述和方法使用

  • A:System类的概述
    • System 类包含一些有用的类字段和方法。它不能被实例化。
  • B:成员方法
    • public static void gc()
    • public static void exit(int status)
    • public static long currentTimeMillis()
    • pubiic static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
  • C:案例演示
    • System类的成员方法使用

2.System类常用的方法:

(1) arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

①参数详解:

src:原数组。

srcPos:原数组中的起始位置,也就是从原数组的哪一位开始拷贝。

dest:目标数组。

destPos:目标数据中的起始位置,也就是从目标数组的哪一个位置开始存储要拷贝的元素。

length:要复制的数组元素的数量。

public class Demo1 {
	public static void main(String[] args) {
		int[] srcArr = {10,12,14,16,19};
		//把srcArr的数组元素拷贝 到destArr数组中。
		int[] destArr = new int[4];
		System.arraycopy(srcArr, 2, destArr, 1, 2);
		System.out.println("目标数组的元素:"+Arrays.toString(destArr));
	}
}

运行结果
在这里插入图片描述
(2) currentTimeMillis();

①该方法用于获取当前系统时间,返回的是毫秒值。返回当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。

②实例:

public class Demo2 {
	public static void main(String[] args) {
		System.out.println("当前的系统时间:"+System.currentTimeMillis());
	}
}

③运行结果:
在这里插入图片描述

(3) gc();

①该方法用来建议jvm赶快启动垃圾回收器回收垃圾。只是建议启动,但是Jvm是否启动又是另外一回事。

②实例:

class Person{
	String name;
	public Person(String name){
		this.name = name;
	}
	@Override
	public void finalize() throws Throwable{
		super.finalize();
		System.out.println(this.name+"被回收了……");
	}
}
public class Demo3 {
	public static void main(String[] args) {
		for(int i = 0;i<4;i++){
			new Person("张三"+i);
			System.gc();//建议马上启动垃圾回收器
		}
	}
}

③运行结果:
在这里插入图片描述

注意:finalize():是Object类的一个方法,如果一个对象被垃圾回收 器回收的时候,会先调用对象的finalize()方法。

(4) getenv(String name);

①该方法用来根据环境变量的名字获取环境变量。

②实例:

public class Demo4 {
	public static void main(String[] args) {
		System.out.println("环境变量:"+System.getenv("path"));
	}
}

③运行结果:

在这里插入图片描述

(5) exit(int status);

①该方法用于退出jvm,如果参数是0表示正常退出jvm,非0表示异常退出jvm。

②退出jvm后,后面的代码就不会执行。无论传0还是传1,Jvm都会退出。
③注意:0或者非0的数据都可以退出Jvm,对于用户而言没有任何区别,对于windows是有作用的,因为如果传非0对于windows而言是异常终止的,如果是正版的操作系统,对于异常退出的软件,需要把这些异常退出的软件信息做成报告发送给微软,微软就可以针对这些问题对系统做出一些修改。
④我们程序员的编程习惯是:如果在try块中退出Jvm,try块里面是没有异常的代码,所以try块中要传0,如果是在catch块里面退出Jvm,我们习惯于用非0退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值