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
- 标准输出
 










