讲师中心 微信公众号
AI工具推荐 视频效率加速

Java中System类有什么作用_JavaSystem常用方法使用说明

夏晨同学_4168

夏晨同学_4168

发布时间:2025-12-24 08:08:02

|

403人浏览过

|

来源于php中文网

原创

System类是Java中不可实例化的静态工具类,用于系统交互,提供标准I/O流、时间获取(currentTimeMillis()和nanoTime())、数组操作等核心功能。

java中system类有什么作用_javasystem常用方法使用说明

System 类是 Java 中用于与底层系统交互的核心工具类,它不提供实例化能力,所有成员都是静态的,直接通过 System.方法名() 调用即可。它的作用集中在系统级操作:获取运行环境信息、控制程序生命周期、高效处理数组、管理输入输出流,以及辅助性能分析和资源清理。

标准输入输出与错误流

System 提供了三个预定义的静态流对象:

  • System.in:类型为 InputStream,默认关联键盘输入,常配合 Scanner 或 BufferedReader 读取用户输入;
  • System.out:类型为 PrintStream,默认输出到控制台,println()、printf() 等方法都基于它;
  • System.err:同样是 PrintStream,专用于输出错误信息,内容通常以红色显示(取决于终端),且默认不被重定向,便于调试时区分正常日志与异常。

获取系统时间与性能计时

两个时间相关方法用途明确、高频使用:

java-api-doc-generator
java-api-doc-generator

分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。

下载
  • System.currentTimeMillis():返回自 1970-01-01 00:00:00 UTC 至现在的毫秒数,适合粗粒度计时、生成时间戳、计算业务耗时;
  • System.nanoTime():返回纳秒级高精度时间值,不受系统时钟调整影响,专用于测量代码段执行时间(如算法性能对比),但不能表示绝对时间。

例如统计一段循环耗时:
long start = System.nanoTime();
for (int i = 0; i long cost = System.nanoTime() - start;

终止程序与请求垃圾回收

这两个方法影响 JVM 运行状态,需谨慎使用:

立即学习“Java免费学习笔记(深入)”;

  • System.exit(int status):立即终止当前 JVM 进程。status 为 0 表示正常退出;非 0(如 1)表示异常退出,常用于命令行工具中根据执行结果返回不同状态码;
  • System.gc():向 JVM 发出垃圾回收建议,并不保证立刻执行,也不推荐在业务代码中频繁调用。现代 JVM 的 GC 策略已高度优化,手动触发反而可能干扰自动调度。

系统属性与数组拷贝

这两类功能覆盖配置读取与底层数据操作:

  • System.getProperty(String key):读取 JVM 启动时加载的系统属性,如 "os.name"、"user.home"、"java.version",适用于跨平台适配或动态路径构建;
  • System.arraycopy():本地方法实现的高效数组拷贝,比 Arrays.copyOf() 更底层、更轻量。要求源与目标数组类型兼容(如 int[] → int[]),且索引与长度必须合法,否则抛出 ArrayIndexOutOfBoundsException。

典型用法:
int[] src = {10, 20, 30, 40};
int[] dest = new int[6];
System.arraycopy(src, 1, dest, 2, 2); // 将 src[1]~src[2] 拷贝到 dest[2]~dest[3]
// 结果:dest = [0, 0, 20, 30, 0, 0]

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

6779

2023.08.02

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

848

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1029

2023.11.28

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

6779

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3265

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

4228

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

2885

2025.08.29

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

6336

2023.08.14

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

20

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn