Java System类核心用法详解

System类概述

Java中的System类是java.lang包下的一个最终类,提供与系统相关的标准输入、输出、错误流、环境变量、系统属性等访问方法。所有方法均为静态方法,无需实例化即可调用。


常用方法及示例

标准输入/输出流

System.inSystem.outSystem.err分别对应标准输入、标准输出和标准错误流。可通过setIn()setOut()setErr()重定向流。

// 重定向标准输出到文件
PrintStream fileOut = new PrintStream("output.txt");
System.setOut(fileOut);
System.out.println("This will be written to output.txt");

系统属性访问

System.getProperty()获取系统属性,如操作系统、Java版本等。

String osName = System.getProperty("os.name");
String javaVersion = System.getProperty("java.version");
System.out.println("OS: " + osName + ", Java: " + javaVersion);

环境变量读取

System.getenv()读取操作系统环境变量。

String path = System.getenv("PATH");
System.out.println("PATH: " + path);

时间相关操作

System.currentTimeMillis()System.nanoTime()用于高精度时间测量。

long startTime = System.nanoTime();
// 执行代码
long duration = System.nanoTime() - startTime;
System.out.println("耗时:" + duration + "纳秒");

强制垃圾回收

System.gc()建议JVM执行垃圾回收(不保证立即执行)。

System.gc(); // 提示JVM进行垃圾回收


注意事项

  • 修改标准流(如setOut())可能影响其他依赖这些流的组件。
  • 系统属性和环境变量在不同操作系统上可能存在差异。
  • nanoTime()适用于测量时间间隔,但不适合获取当前时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值