java基础总结06-常用api类-System类常用方法
System
System类:系统类,主要用于获取系统的属性数据,没有构造方法。
-
System类的常用方法
方法名 说明 public static void exit(int status) 终止当前运行的 Java 虚拟机
参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) public static void gc() 该方法用来建议jvm赶快启动垃圾回收器回收垃圾。只是建议启动,但是Jvm是否启动又是另外一回事 public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length
)从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
1.结束正在运行的Java程序(public staitc void exit(int status))
示例代码1 => exit()
- 需求:结束下面的循环
package com.edu1.test;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i=0;
while (true){
System.out.println("请输入一个字符");
String next = sc.next();
if(next.equalsIgnoreCase("y")){
System.exit(0);
}else {
System.out.println("循环第"+ ++i +"次,内容是"+next+",输入y停止");
}
}
}
}
2.获取系统当前毫秒值(public static long currentTimeMillis())
- 需求:在控制台输出1-10000,计算这段代码执行了多少毫秒
public class SystemDemo {
public static void main(String[] args) {
// 获取开始的时间节点
long start = System.currentTimeMillis();
for (int i = 1; i <= 10000; i++) {
System.out.println(i);
}
// 获取代码运行结束后的时间节点
long end = System.currentTimeMillis();
System.out.println("共耗时:" + (end - start) + "毫秒");
}
}
3. 垃圾回收器(public static void gc())
- 示例代码
package com.edu1.test;
public class Demo {
public static void main(String[] args) {
new Person(1);
new Person(2);
new Person(3);
new Person(4);
new Person(5);
System.gc();//建议马上启动垃圾回收器
}
}
class Person {
private int i;
public Person(int i) {
this.i = i;
}
@Override
public void finalize() throws Throwable { //清除垃圾时,会默认调用被清空对象的finalize方法。
System.out.println("第"+i+"次垃圾回收启动了" );
}
}
//以上代码执行结果如下:(输出结果行数不一定一致)
//第5次垃圾回收启动了
//第4次垃圾回收启动了
//第3次垃圾回收启动了
//第2次垃圾回收启动了
//进程已结束,退出代码为 0
4. System类方法复制数组 ->数值扩容
实例:
package com.edu1.test;
public class Demo {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int[] targetArr = new int[array.length*2];
// Object src:要复制的原数组;
// Int srcPos:数组源的起始索引;
// Object dest:复制后的目标数组;
// int destPos:目标数组起始索引;
// int length,指定复制的长度;
System.arraycopy(array,0,targetArr,0,array.length);
for (int i : targetArr) {
System.out.println(i);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了