欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > java: system类

java: system类

2025/3/14 18:17:39 来源:https://blog.csdn.net/qq_39460057/article/details/146235634  浏览:    关键词:java: system类

System 类是 Java 中的一个核心类,位于 java.lang 包中。它提供了与系统相关的功能,包括标准输入、标准输出、错误输出、环境变量、系统属性、垃圾回收等。System 类中的所有方法和属性都是静态的,因此可以直接通过类名调用,而不需要创建实例。

以下是 System 类的主要功能和方法:


1. 标准输入输出流

System 类提供了三个标准的流,用于与用户交互:

  • System.in: 标准输入流(通常是键盘输入),类型为 InputStream
  • System.out: 标准输出流(通常是控制台),类型为 PrintStream
  • System.err: 标准错误输出流(通常是控制台),类型为 PrintStream

示例:

System.out.println("This is standard output"); // 输出到控制台
System.err.println("This is an error message"); // 输出错误信息到控制台

2. 系统属性

System 类提供了访问和修改系统属性的方法。系统属性是键值对的形式,存储了与系统相关的信息(如操作系统名称、Java 版本等)。

  • System.getProperty(String key): 获取指定键的系统属性值。
  • System.setProperty(String key, String value): 设置系统属性。
  • System.getProperties(): 获取所有系统属性。

示例:

String osName = System.getProperty("os.name"); // 获取操作系统名称
String javaVersion = System.getProperty("java.version"); // 获取 Java 版本
System.out.println("OS: " + osName);
System.out.println("Java Version: " + javaVersion);

3. 环境变量

System 类可以访问操作系统的环境变量。

  • System.getenv(String name): 获取指定名称的环境变量值。
  • System.getenv(): 获取所有环境变量。

示例:

String path = System.getenv("PATH"); // 获取 PATH 环境变量
System.out.println("PATH: " + path);

4. 时间和计时

  • System.currentTimeMillis(): 返回当前时间的毫秒数(从 1970 年 1 月 1 日 UTC 开始计算)。
  • System.nanoTime(): 返回当前时间的纳秒数(用于高精度计时)。

示例:

long startTime = System.currentTimeMillis();
// 执行一些操作
long endTime = System.currentTimeMillis();
System.out.println("Time taken: " + (endTime - startTime) + " ms");

5. 垃圾回收

  • System.gc(): 建议 JVM 执行垃圾回收(注意:这只是一个建议,JVM 不一定会立即执行)。

示例:

System.gc(); // 建议进行垃圾回收

6. 退出程序

  • System.exit(int status): 终止当前运行的 Java 虚拟机。status 参数为退出状态码,通常 0 表示正常退出,非零值表示异常退出。

示例:

System.exit(0); // 正常退出程序

7. 数组复制

  • System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length): 复制数组的一部分到另一个数组。

示例:

int[] src = {1, 2, 3, 4, 5};
int[] dest = new int[5];
System.arraycopy(src, 0, dest, 0, src.length); // 复制 src 到 dest
System.out.println(Arrays.toString(dest)); // 输出: [1, 2, 3, 4, 5]

8. 安全管理器

  • System.getSecurityManager(): 获取当前的安全管理器。
  • System.setSecurityManager(SecurityManager sm): 设置安全管理器。

9. 其他方法

  • System.console(): 返回与当前 Java 虚拟机关联的 Console 对象(用于交互式输入)。
  • System.lineSeparator(): 返回系统的行分隔符(如 \n\r\n)。

示例代码

以下是一个综合示例,展示了 System 类的常用功能:

public class SystemExample {public static void main(String[] args) {// 标准输出System.out.println("Hello, World!");// 系统属性String osName = System.getProperty("os.name");System.out.println("Operating System: " + osName);// 环境变量String path = System.getenv("PATH");System.out.println("PATH: " + path);// 时间long startTime = System.currentTimeMillis();System.out.println("Current Time in ms: " + startTime);// 数组复制int[] src = {1, 2, 3, 4, 5};int[] dest = new int[5];System.arraycopy(src, 0, dest, 0, src.length);System.out.println("Copied Array: " + Arrays.toString(dest));// 退出程序System.exit(0);}
}

总结

System 类是 Java 中非常重要的工具类,提供了与系统交互的多种功能。它的方法都是静态的,使用起来非常方便。常见的用途包括:

  • 标准输入输出(System.inSystem.outSystem.err)。
  • 获取系统属性和环境变量。
  • 计时和性能测试。
  • 数组复制和程序退出等。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com