Java System类详解——从零到一完全掌握

例:System.out.println()

1. System类简介

System 类是 Java java.lang 包中的一个工具类,提供了一系列与标准输入、输出、错误流、JVM 运行环境、垃圾回收、时间获取等相关的方法。它的所有方法和字段都是 static,可以直接调用,无需创建实例。

import java.lang.System;

2. System类常用方法详解

2.1 标准输入、输出和错误流

System 提供了 inouterr 三个流:

方法说明
System.out标准输出流(默认连接到控制台)
System.err标准错误流(默认连接到控制台)
System.in标准输入流(默认从键盘输入)

示例代码:

public class SystemExample {
    public static void main(String[] args) {
        System.out.println("标准输出: Hello, World!");
        System.err.println("标准错误: 发生错误");
    }
}

2.2 获取当前时间(时间戳)

方法说明示例
System.currentTimeMillis()返回当前时间(毫秒)System.currentTimeMillis()
System.nanoTime()返回当前时间(纳秒)System.nanoTime()

示例代码:

long millis = System.currentTimeMillis();
long nanos = System.nanoTime();
System.out.println("当前时间(毫秒): " + millis);
System.out.println("当前时间(纳秒): " + nanos);

2.3 终止JVM

方法说明
System.exit(status)终止 JVM 运行,status=0 表示正常退出,非 0 表示异常退出

示例代码:

System.out.println("程序即将终止");
System.exit(0);//  0:表示当前虚拟机是正常停止  1:异常停止
System.out.println("这行代码不会被执行");

2.4 数组拷贝

方法说明
System.arraycopy(src, srcPos, dest, destPos, length) System.arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)                           //    起始索引分别指向各自前面参数数组高效复制数组元素

示例代码:

int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[5];
System.arraycopy(src, 0, dest, 0, src.length);
System.out.println(java.util.Arrays.toString(dest)); // [1, 2, 3, 4, 5]
//  数组基本类型要一致,不然报错
//  确保拷贝的数组长度够用  不然报错

2.5 获取环境变量和系统属性

方法说明
System.getenv(String name)获取环境变量
System.getProperty(String key)获取系统属性

示例代码:

System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
System.out.println("操作系统: " + System.getProperty("os.name"));
System.out.println("Java 版本: " + System.getProperty("java.version"));

2.6 垃圾回收

方法说明
System.gc()提示 JVM 进行垃圾回收
System.runFinalization()运行对象终结方法

示例代码:

System.gc();
System.runFinalization();

3. System类应用场景

  1. 日志和调试 - System.outSystem.err 进行日志输出。
  2. 性能测试 - System.nanoTime() 计算代码执行时间。
  3. 数组操作 - System.arraycopy() 高效拷贝数组。
  4. 程序控制 - System.exit() 终止程序。

示例:

// 计算代码执行时间
long start = System.nanoTime();
for (int i = 0; i < 1000000; i++);
long end = System.nanoTime();
System.out.println("执行时间: " + (end - start) + " 纳秒");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值