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

System 类是 Java 中用于与底层系统交互的核心工具类,它不提供实例化能力,所有成员都是静态的,直接通过 System.方法名() 调用即可。它的作用集中在系统级操作:获取运行环境信息、控制程序生命周期、高效处理数组、管理输入输出流,以及辅助性能分析和资源清理。
标准输入输出与错误流
System 提供了三个预定义的静态流对象:
-
System.in:类型为
InputStream,默认关联键盘输入,常配合Scanner或BufferedReader读取用户输入; -
System.out:类型为
PrintStream,默认输出到控制台,println()、printf()等方法都基于它; -
System.err:同样是
PrintStream,专用于输出错误信息,内容通常以红色显示(取决于终端),且默认不被重定向,便于调试时区分正常日志与异常。
获取系统时间与性能计时
两个时间相关方法用途明确、高频使用:
- 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 运行状态,需谨慎使用:
基于ECSHOP2.7.2制作,模板使用的是早期的凡客模板。整站大气,清爽。适合综合,鞋子,服饰类商城使用。具体安装方法在程序包中有说明,在使用之前请看下。 大体方法:1.上传程序至网站根目录,访问:域名/diguo (用户名:admin 密码:123456)2.设置好数据库信息,然后恢复数据,数据目录在www.shopex5.com下.3.修改data目录下的config数据库配置文件。4.登陆
立即学习“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]









