【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130442963
出自【进步*于辰的博客】
文章目录
- 1、概述
- 2、方法摘要
- 2.1 static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- 2.2 static String clearProperty(String key)
- 2.3 static native long currentTimeMillis()
- 2.4 static void exit(int status)
- 2.5 static void gc()
- 2.6 static Map<String,String> getenv()
- 2.7 static String getenv(String name)
- 2.8 static Properties getProperties()
- 2.9 static String getProperty(String key)
- 2.10 static String getProperty(String key, String def)
- 2.11 static SecurityManager getSecurityManager()
- 2.12 static int identityHashCode(Object x)
- 2.13 static Channel inheritedChannel()
- 2.14 static void load(String filename)
- 2.15 static void loadLibrary(String libname)
- 2.16 static String mapLibraryName(String libname)
- 2.17 static native long nanoTime()
- 2.18 static void runFinalization()
- 2.19 ~~static void runFinalizersOnExit(boolean value)~~
- 2.20 static void setErr(PrintStream err)
- 2.21 static void setIn(InputStream in)
- 2.22 static void setOut(PrintStream out)
- 2.23 static void setProperties(Properties props)
- 2.24 static String setProperty(String key, String value)
- 2.25 static void setSecurityManager(SecurityManager s)
- 3、方法摘要(不开放)
- 4、字段摘要
- 最后
1、概述
继承关系:
- java.lang.Object
- java.lang.System
public final class System extends Object
System 类包含一些有用的类字段和方法。它不能被实例化。
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
2、方法摘要
2.1 static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
注译:
从指定的源数组的指定位置开始,将数组复制到目标数组的指定位置。将数组组件的子序列从src
引用的源数组复制到dest
引用的目标数组。复制的组件数量等于length
参数。源数组中位置srcPos
到位置srcPos+length - 1
的组件分别复制到目标数组的位置destPos
到位置destPos+length - 1
。
如果src
和dest
参数引用相同的数组对象,则执行复制,就好像首先将位置srcPos
到srcPos+length - 1
的组件复制到具有长度组件的临时数组中,然后将临时数组的内容复制到目标数组的位置destPos
到destPos+length - 1
。
如果dest
为空,则抛出NullPointerException。
如果src
为空,则抛出 NullPointerException,并且不修改目标数组。
否则,如果下列任何一项为 true,则抛出ArrayStoreException,并且不修改目标数组:
src
指向的不是数组。dest
指向的不是数组。src
和dest
指向的数组类型是不同的数据类型。src
指向基本数据类型数组,dest
指向引用数据类型数组。src
指向引用数据类型数组,dest
指向基本数据类型数组。
否则,如果以下任何一个为 true,则抛出IndexOutOfBoundsException,并且不修改目标数组:
srcPos < 0
。destPos < 0
。length < 0
。srcPos + length > src.length
。destPos + length > dest.length
。
否则,如果源数组从位置srcPos
到srcPos+length-1
的任何实际组件不能通过赋值转换转换为目标数组的组件类型,则抛出ArrayStoreException。在这种情况下,设k
为小于length
的最小非负整数,使得src[srcPos + k]
不能被转换为目标数组的组件类型。当抛出异常时,从位置srcPos
到位置srcPos + k - 1
的源数组组件将已经被复制到位置destPos
到位置destPos + k - 1
的目标数组组件,并且目标数组的其他位置不会被修改。(由于已经逐项列出的限制,这一段只适用于两个数组的组件类型都是引用类型的情况。)
扩展说明: 扩展说明: 扩展说明:
关于扩容,可参考ArrayList
<E>
类的第5.6项。
诸如 ArrayList 等类的“扩容机制”,其底层最终都是通过调用此方法来实现元素“拷贝”的。
从上述中对此方法的注译中可知,此方法仅用于元素复制,无扩容功能。
2.2 static String clearProperty(String key)
移除指定键指示的系统属性。
2.3 static native long currentTimeMillis()
返回以毫秒为单位的当前时间。
2.4 static void exit(int status)
终止当前正在运行的 Java 虚拟机。
2.5 static void gc()
运行垃圾回收器。
2.6 static Map<String,String> getenv()
返回一个不能修改的当前系统环境的字符串映射视图。
示例:
Map<String, String > map = System.getenv();
for (Map.Entry<String , String > next: map.entrySet()) {
sout next;
}
2.7 static String getenv(String name)
获得指定的环境变量值。
2.8 static Properties getProperties()
确定当前的系统属性。
示例:
Properties p = System.getProperties();
for (Map.Entry<Object, Object> entry : p.entrySet())
sout entry.getKey() + "\t=\t" + entry.getValue();
2.9 static String getProperty(String key)
获得指定键指示的系统属性。
2.10 static String getProperty(String key, String def)
获得用指定键描述的系统属性。
2.11 static SecurityManager getSecurityManager()
获得系统安全接口。
2.12 static int identityHashCode(Object x)
返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。
2.13 static Channel inheritedChannel()
返回从创建此 Java 虚拟机的实体中继承的信道。(暂未可知)
2.14 static void load(String filename)
从作为动态库的本地文件系统中以指定的文件名加载代码文件。(暂未可知)
2.15 static void loadLibrary(String libname)
加载由 libname 参数指定的系统库。(暂未可知)
2.16 static String mapLibraryName(String libname)
将一个库名称映射到特定于平台的、表示本机库的字符串中。(暂未可知)
2.17 static native long nanoTime()
返回最准确的可用系统计时器的当前值,以毫微秒(纳秒)为单位。
2.18 static void runFinalization()
运行处于挂起终止状态的所有对象的终止方法。(暂未可知)
2.19 static void runFinalizersOnExit(boolean value)
已过时。 该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。
2.20 static void setErr(PrintStream err)
重新分配“标准”错误输出流。(暂未可知)
2.21 static void setIn(InputStream in)
重新分配“标准”输入流。
2.22 static void setOut(PrintStream out)
重新分配“标准”输出流。
2.23 static void setProperties(Properties props)
将系统属性设置为 Properties 参数。
2.24 static String setProperty(String key, String value)
设置指定键指示的系统属性。
2.25 static void setSecurityManager(SecurityManager s)
设置系统安全性。
3、方法摘要(不开放)
3.1 private static void checkKey(String key)
检查指定键是否为null
或""
。
3.2 private static native void registerNatives()
通过静态初始化器注册本地 via。
4、字段摘要
4.1 static PrintStream err
“标准”错误输出流。
注译
流已经打开并准备接受输出数据。
通常,此流对应于主机环境或用户指定的显示输出或其他输出目的地。按照惯例,该输出流用于显示应该引起用户立即注意的错误消息或其他信息,即使主输出流(out
的值)已被重定向到通常不被连续监视的文件或其他目的地。
4.2 static InputStream in
“标准”输入流。
注译:
此流已经打开并准备好提供输入数据。通常,此流对应于键盘输入或主机环境或用户指定的其他输入源。
4.3 static PrintStream out
“标准”输出流。
注译:
此流已经打开并准备接受输出数据。通常,此流对应于主机环境或用户指定的显示输出或其他输出目的地。
最后
如果大家需要Java-API文档,我上传了《Java-API文档-包含5/8/11三个版本》。
本文暂缓更新。