System
- System 类位于 java.lang 包,代表当前 Java 程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部。
- 由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。
scala> System.
arraycopy( getenv( runFinalization()
clearProperty( identityHashCode( runFinalizersOnExit( (deprecated)
console() in setErr(
currentTimeMillis() inheritedChannel() setIn(
err lineSeparator() setOut(
exit( load( setProperties(
gc() loadLibrary( setProperty(
getProperties() mapLibraryName( setSecurityManager(
getProperty( nanoTime()
getSecurityManager() out
arraycopy
getenv
- 获取指定的环境变量的值
runFinalization
clearProperty
identityHashCode
runFinalizersOnExit
console
- 用于返回与当前 JVM)唯一关联的控制台对象(如果存在)
scala> System.console()
val res65: java.io.Console = java.io.Console@57f4c546
in
setErr
currentTimeMillis
- 该方法的作用是返回当前的计算机时间,时间的格式为当前计算机时间与 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒所差的毫秒数。一般用它来测试程序的执行时间
scala> System.currentTimeMillis
val res23: Long = 1643872137107
inheritedChannel
setIn
err
- 标准错误输出
lineSeparator
setOut
exit
- 终止当前正在运行的 Java 虚拟机
- status 的值为 0 时表示正常退出,非零时表示异常退出
load
setProperties
- 设置系统的属性参数
gc
- 请求系统进行垃圾回收,完成内存中的垃圾清
loadLibrary
setProperty
- 设置指定键对值的系统属性
setProperty (String prop, String value) - 返回: 系统属性以前的值,如果没有以前的值,则返回 null。
getProperties
- 获取所有的系统的相关属性值
scala> System.getProperty("user.country")
val res52: String = CN
scala> System.getProperties()
val res54: java.util.Properties =
{jna.platform.library.path=/usr/lib:/usr/lib, java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre/lib, java.vm.version=25.261-b12, gopherProxySet=false, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, jna.loaded=true, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=CN, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/Users/bytedance/workspace/xql, java.runtime.version=1.8.0_261-b12, java.awt.graphicsenv=sun.awt.CGraphicsEnvironment, java.endorsed.dirs=/Library/Java/JavaVirt...
mapLibraryName
setSecurityManager
getProperty
- 获取系统的相关属性,包括文件编码、操作系统名称、区域、用户名等,此属性一般由jvm自动获取,不能设置。这个必须接受一个String类型的参数,返回值的类型也是String
scala> System.setProperty("t1","test")
val res34: String = test
scala> System.getProperty("java.version")
val res39: String = 1.8.0_261
参数值 参数含义
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 用户的当前工作目录
nanoTime
- 常用于测量时间的差值或者说时间的流逝
getSecurityManager
- 返回安全管理器(如果存在),否则如果安全管理器无法为当前应用程序建立,则返回 null。
out
- 标准输出