网站开发建设合同书,2022年企业所得税税率表一览,嘉兴优化网站排名,奉贤集团网站建设Java 类之 java.lang.System 文章目录 Java 类之 java.lang.System一、简介二、主要功能1、currentTimeMillis() - 获取当前时间的毫秒数说明代码示例 2、getProperty(String key) - 获取系统属性说明代码示例 3、exit(int status) - 终止虚拟机说明代码示例 4、arraycopy(Obje…Java 类之 java.lang.System 文章目录 Java 类之 java.lang.System一、简介二、主要功能1、currentTimeMillis() - 获取当前时间的毫秒数说明代码示例 2、getProperty(String key) - 获取系统属性说明代码示例 3、exit(int status) - 终止虚拟机说明代码示例 4、arraycopy(Object src, int srcPos, Object dest, int destPos, int length) - 复制数组说明代码示例 5、gc() - 请求垃圾回收说明代码示例 三、其它1、为什么 System 类要提供一个数组拷贝方法2、System.getProperty 常用于获取那些属性3、关于 System 类还有哪些需要注意的点吗 一、简介
java.lang.System 类是 Java 编程语言中的一个核心类提供了与系统交互的方法和字段。
public final class System二、主要功能
1、currentTimeMillis() - 获取当前时间的毫秒数
说明
该方法返回自1970年1月1日00:00:00 UTC以来的当前时间与此类实例创建的时间的毫秒差。
代码示例
long currentTime System.currentTimeMillis();
System.out.println(Current Time in milliseconds: currentTime);2、getProperty(String key) - 获取系统属性
说明
该方法根据指定的键检索系统属性值。
代码示例
String javaVersion System.getProperty(java.version);
System.out.println(Java Version: javaVersion);3、exit(int status) - 终止虚拟机
说明
该方法终止当前正在运行的 Java 虚拟机。
代码示例
System.out.println(Before exit);
System.exit(0);
System.out.println(After exit); // 不会执行到这里4、arraycopy(Object src, int srcPos, Object dest, int destPos, int length) - 复制数组
说明
该方法从源数组复制一个数组到目标数组。
代码示例
int[] sourceArray {1, 2, 3, 4, 5};
int[] destinationArray new int[5];System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);// destinationArray 现在包含了 sourceArray 的内容5、gc() - 请求垃圾回收
说明
该方法是请求 Java 虚拟机进行垃圾回收。
代码示例
// 在某些情况下可以显式调用垃圾回收
System.gc();三、其它
1、为什么 System 类要提供一个数组拷贝方法
System 类提供 arraycopy 方法主要出于性能和效率的考虑。这个方法是为了在底层执行高效的数组拷贝操作而设计的。以下是一些原因解释为什么 System.arraycopy 方法是有用的
底层性能优化 System.arraycopy 在底层通常会使用系统级别的内存复制操作这可能比在 Java 代码中使用循环手动复制数组元素更为高效。这对于大规模数据的拷贝尤其有利。原子性 arraycopy 方法是原子的即要么执行整个拷贝操作要么不执行。在多线程环境中这是很重要的可以避免并发问题确保在拷贝期间没有其他线程对数组进行修改。支持不同类型的数组 arraycopy 可以用于复制不同类型的数组例如将一个 int 数组的一部分复制到一个 Object 数组中。这种灵活性是手动循环复制难以提供的。简化代码 使用 System.arraycopy 可以减少代码量使代码更简洁、易读。这对于需要频繁进行数组操作的情况尤为有用。系统级内存操作 arraycopy 可以利用底层系统的内存复制机制因此在某些情况下比手动循环更为高效尤其是对于较大的数组。
总体而言System.arraycopy 是为了提供一个高性能、原子性、灵活且易用的数组拷贝方法以适应各种不同的应用场景。在处理大量数据和对性能要求较高的情况下使用这个方法可以更好地满足需求。
2、System.getProperty 常用于获取那些属性
System.getProperty 方法常用于获取与系统相关的属性信息。通过指定属性的键key可以检索与该键相关联的属性值。以下是一些常用的键和相应的属性信息
Java 运行时环境属性 java.version: Java 运行时环境版本。java.vendor: Java 运行时环境供应商。java.vendor.url: Java 供应商的 URL。java.home: Java 安装目录。java.vm.specification.version: Java 虚拟机规范版本。java.vm.specification.vendor: Java 虚拟机规范供应商。java.vm.specification.name: Java 虚拟机规范名称。java.vm.version: Java 虚拟机实现版本。java.vm.vendor: Java 虚拟机实现供应商。java.vm.name: Java 虚拟机实现名称。 操作系统属性 os.name: 操作系统的名称。os.arch: 操作系统的架构。os.version: 操作系统的版本。 用户和目录属性 user.name: 用户的账户名称。user.home: 用户的主目录。user.dir: 用户的当前工作目录。 文件分隔符和路径分隔符 file.separator: 文件分隔符在 UNIX 系统上是/“在 Windows 系统上是”。path.separator: 路径分隔符在 UNIX 系统上是:“在 Windows 系统上是”;。
这些属性提供了有关 Java 运行时环境、操作系统和用户环境的信息。通过调用 System.getProperty 方法并传递相应的键可以在程序中获取这些属性的值从而实现对运行环境和系统配置的动态适应。
3、关于 System 类还有哪些需要注意的点吗
除了前面提到的一些常用的方法和属性之外还有一些关于 System 类需要注意的点
System.exit() 方法 使用 System.exit(int status) 可以终止当前正在运行的 Java 虚拟机。注意如果在程序中调用了 System.exit()将立即终止整个 Java 运行时可能导致一些未完成的操作无法完成。在正常情况下程序应该在退出之前完成必要的清理工作。 System.gc() 方法 调用 System.gc() 是一个提示 Java 虚拟机执行垃圾回收的方法但并不能确保立即执行垃圾回收。垃圾回收是由 Java 虚拟机自行管理的因此程序员通常不需要显式调用 System.gc()。 输入输出流 System.in、System.out 和 System.err 分别代表标准输入、标准输出和标准错误输出。它们分别是 InputStream 和 PrintStream 的实例。可以使用这些流来进行输入和输出操作。 性能和效率 System.arraycopy() 方法是一个高效的数组复制方法特别适用于大规模数据的拷贝。在需要处理大量数据时使用该方法可以提高性能。 安全性 由于 System.exit() 方法可以终止整个 Java 运行时要慎重使用避免在正常情况下滥用这个方法。在通常情况下应该使用异常或其他控制流程来安全地退出程序。 环境属性 使用 System.getProperty(String key) 方法可以获取与系统相关的属性信息。这些信息可以用于适应不同的运行环境和系统配置。
总体而言System 类提供了一些与系统交互的基本方法和属性但在使用一些方法时需要谨慎特别是涉及到程序终止和垃圾回收的情况。