【Java基础】了解System类及其常用方法的作用

System类概念

  • System中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。

  • System作为系统类,在JDK的java.lang包中,可见它也是一种java的核心语言特性。System类的构造器由private修饰,不允许被实例化。因此,类中的方法也都是static修饰的静态方法。

  • System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)

System类的常用方法

  1. 获取系统当前毫秒值
    System.currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

  2. 结束正在运行的Java程序
    System.exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

  3. 运行JVM中的垃圾回收器
    System.gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

  4. 用来获取指定键(字符串名称)中所记录的系统属性信息

    System.getProperty(String key)
    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 虚拟机实现名称
    java.specification.version Java 运行时环境规范版本
    java.specification.vendor Java 运行时环境规范供应商
    java.specification.name Java 运行时环境规范名称
    java.class.version Java 类格式版本号
    java.class.path Java 类路径
    java.library.path 加载库时搜索的路径列表
    java.io.tmpdir 默认的临时文件路径
    java.compiler 要使用的 JIT 编译器的名称
    java.ext.dirs 一个或多个扩展目录的路径
    os.name 操作系统的名称
    os.arch 操作系统的架构
    os.version 操作系统的版本
    file.separator 文件分隔符(在 UNIX 系统中是“/”)
    path.separator 路径分隔符(在 UNIX 系统中是“:”)
    line.separator 行分隔符(在 UNIX 系统中是“/n”)
    user.name 用户的账户名称
    user.home 用户的主目录
    user.dir 用户的当前工作目录(当前项目的目录,如 E:\resource\java-base-demo)

  5. arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置
    在这里插入图片描述

// 将src数组中前3个元素,复制到dest数组的前3个位置上

// 复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]
// 复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]
public static void main(String[] args) {
	int[] src = new int[]{1,2,3,4,5};
	int[] dest = new int[]{6,7,8,9,10};
	System.arraycopy( src, 0, dest, 0, 3);
	//代码运行后:两个数组中的元素发生了变化
	//src数组元素[1,2,3,4,5]
	//dest数组元素[1,2,3,9,10]
}
方法 描述
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
static String clearProperty(String key) 移除指定键指示的系统属性。
static Console console() 返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。
static long currentTimeMillis() 返回以毫秒为单位的当前时间。
static void exit(int status) 终止当前正在运行的 Java 虚拟机。
static void gc() 运行垃圾回收器。
static Map<String,String> getenv() 返回一个不能修改的当前系统环境的字符串map
static String getenv(String name) 获取指定的环境变量值
static Properties getProperties() 确定当前的系统所有属性。
static String getProperty(String key) 获取指定key的系统属性
static String getProperty(String key, String def) 获取用指定键描述的系统属性
static String setProperty(String key, String value) 设置指定键指示的系统属性
static void setProperties(Properties props) 将系统属性设置为 Properties 参数。
static void setSecurityManager(SecurityManager s) 设置系统安全性。
static SecurityManager getSecurityManager() 获取系统安全接口
static int identityHashCode(Object x) 返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。
static Channel inheritedChannel() 返回从创建此 Java 虚拟机的实体中继承的信道。
static void load(String filename) 从作为动态库的本地文件系统中以指定的文件名加载代码文件。
static void loadLibrary(String libname) 加载由 libname 参数指定的系统库。
static String mapLibraryName(String libname) 将一个库名称映射到特定于平台的、表示本机库的字符串中。
static long nanoTime() 返回最准确的可用系统计时器的当前值,以毫微秒为单位。
static void runFinalization() 运行处于挂起终止状态的所有对象的终止方法。
static void setErr(PrintStream err) 重新分配“标准”错误输出流。
static void setIn(InputStream in) 重新分配“标准”输入流。
static void setOut(PrintStream out) 重新分配“标准”输出流。
发布了62 篇原创文章 · 获赞 109 · 访问量 5302

猜你喜欢

转载自blog.csdn.net/qq877728715/article/details/102934009