System类
Java 中的 System
类是 java.lang
包的一部分,它提供了一些与系统相关的方法和属性。System
类是 Java 运行时的一部分,提供了对系统资源的访问和一些实用工具方法。
-
标准输入/输出/错误流:
System.in
: 标准输入流,通常用于从键盘读取数据。System.out
: 标准输出流,通常用于向控制台打印信息。System.err
: 错误输出流,通常用于打印错误信息。
-
环境属性:
System.getenv(String name)
: 获取指定的环境变量的值。System.getenv()
: 获取所有环境变量的映射。
-
系统属性:
System.getProperty(String key)
: 获取与指定键(key)相关联的系统属性值。System.getProperties()
: 获取系统属性的属性列表。
-
垃圾回收:
System.gc()
: 建议 JVM 进行垃圾回收。
-
当前时间:
System.currentTimeMillis()
: 返回当前时间的毫秒数,自 1970 年 1 月 1 日 00:00:00 GMT 以来。
-
休眠:
System.nanoTime()
: 返回当前时间的纳秒值,用于测量短时间间隔。Thread.sleep(long millis)
: 使当前线程暂停执行指定的毫秒数。
-
退出:
System.exit(int status)
: 终止 JVM。参数status
通常用来表示程序的退出状态。
-
数组复制:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
: 将数组的一部分复制到另一个数组。
-
运行时信息:
System.getRuntime()
: 返回运行时对象,可以查询 JVM 的内存信息等。
下面是一个使用 System
类的简单示例:
public class SystemExample {
public static void main(String[] args) {
// 打印当前时间的毫秒数
long currentTimeMillis = System.currentTimeMillis();
System.out.println("Current Time in Millis: " + currentTimeMillis);
// 打印环境变量
System.out.println("OS Name: " + System.getProperty("os.name"));
System.out.println("OS Version: " + System.getProperty("os.version"));
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Java Home: " + System.getProperty("java.home"));
// 打印所有环境变量
System.getenv().forEach((key, value) ->
System.out.println(key + " = " + value)
);
// 模拟退出
System.out.println("Exiting the application...");
System.exit(0);
}
}
请注意,System.out
和 System.err
都是 PrintStream
类的实例,可以用来打印文本信息。System.in
是 InputStream
类的实例,通常不直接使用,而是通过 Scanner
类或其他输入工具来读取数据。