当前位置: 首页 > news >正文

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()适用于测量时间间隔,但不适合获取当前时间。

相关文章:

  • Nginx Lua模块(OpenResty)实战:动态化、智能化你的Nginx,实现复杂Web逻辑 (2025)
  • 关于表连接
  • svg的制作与动态效果的开发使用
  • 智能路由革命:AI 生态系统的智能高速交警
  • 在 Linux 上安装 Minikube:轻松搭建本地 Kubernetes 单节点集群
  • 每日八股文5.30
  • C++17新特性 类型推导
  • 【C语言编译与链接】--翻译环境和运行环境,预处理,编译,汇编,链接
  • @Pushgateway配置与使用
  • 工商业储能站能量管理系统
  • 2014药柜设计问题
  • MOT challenge使用方法及数据集说明
  • 我的3种AI写作节奏搭配模型,适合不同类型写作者
  • 【js逆向】某某省过验证码逆向
  • 从印巴空战看数据制胜密码:元数据如何赋能数字战场
  • N2语法 状態
  • for(auto a:b)和for(auto a:b)的区别
  • leetcode动态规划—完全背包系列
  • 一篇文章玩转CAP原理
  • 鸿蒙OSUniApp滑动锁屏实战:打造流畅优雅的移动端解锁体验#三方框架 #Uniapp
  • 外贸网站建设 如何做/常见的网站推广方法
  • 不用下载的行情网站/百度推广网站一年多少钱
  • 简述网站建设/百度网页怎么制作
  • 网站开发界面设计工具/怎么推广引流客户
  • 织梦更换网站模板/简单制作html静态网页
  • 东莞企业网站推广多少钱/优化设计三年级上册答案