【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131714695
出自【进步*于辰的博客】
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
注:
源博文1:Java-API简析_java.lang.Process类(基于 Latest JDK)(浅析源码);
源博文2:Java-API简析_java.lang.ProcessBuilder类(基于 Latest JDK)(浅析源码)。
文章目录
- 1、概述
- 2、方法摘要
- 2.1 void addShutdownHook(Thread hook)
- 2.2 int availableProcessors()
- 2.3 Process exec(String command)
- 2.4 Process exec(String[] cmdarray)
- 2.5 Process exec(String[] cmdarray, String[] envp)
- 2.6 Process exec(String[] cmdarray, String[] envp, File dir)
- 2.7 Process exec(String command, String[] envp)
- 2.8 Process exec(String command, String[] envp, File dir)
- 2.9 void exit(int status)
- 2.10 long freeMemory()
- 2.11 void gc()
- 2.12 InputStream getLocalizedInputStream(InputStream in)
- 2.13 OutputStream getLocalizedOutputStream(OutputStream out)
- 2.14 static Runtime getRuntime()
- 2.15 void halt(int status)
- 2.16 void load(String filename)
- 2.17 void loadLibrary(String libname)
- 2.18 long maxMemory()
- 2.19 boolean removeShutdownHook(Thread hook)
- 2.20 void runFinalization()
- 2.21 static void runFinalizersOnExit(boolean value)
- 2.22 long totalMemory()
- 2.23 void traceInstructions(boolean on)
- 2.24 void traceMethodCalls(boolean on)
1、概述
public class Runtime extends Object
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime()
方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
从以下版本开始:
JDK1.0
另请参见:
getRuntime()
2、方法摘要
2.1 void addShutdownHook(Thread hook)
注册新的虚拟机来关闭挂钩。
2.2 int availableProcessors()
向 Java 虚拟机返回可用处理器的数目。
说明:
看源码。
-
注译:
- 返回Java虚拟机可用的处理器数。
- 该值可能在虚拟机的特定调用期间更改。因此,对可用处理器数量敏感的应用程序应该偶尔轮询此属性并适当调整其资源使用情况。
2.3 Process exec(String command)
在单独的进程中执行指定的字符串命令。
说明:
先看源码。
底层调用第8项。
2.4 Process exec(String[] cmdarray)
在单独的进程中执行指定命令和变量。
2.5 Process exec(String[] cmdarray, String[] envp)
在指定环境的独立进程中执行指定命令和变量。
2.6 Process exec(String[] cmdarray, String[] envp, File dir)
在指定环境和工作目录的独立进程中执行指定的命令和变量。
说明:
先看源码。
关于ProcessBuilder类这4个方法,分别见源博文2的第2.1、4.1、3.5、3.9项。
此方法逻辑: 由命令数组cmdarray
构造 ProcessBuilder 实例;先使用环境变量数组envp
设置运行环境;再将工作目录设置为目录dir
;最后调用start()
,使用此进程生成器的属性启动一个新进程。
2.7 Process exec(String command, String[] envp)
在指定环境的单独进程中执行指定的字符串命令。
2.8 Process exec(String command, String[] envp, File dir)
在有指定环境和工作目录的独立进程中执行指定的字符串命令。
说明:
先看源码。
关于new StringTokenizer()
、countTokens()
,分别见StringTokenizer类的第2.1、3.1项;关于exec()
,见第6项。
2.9 void exit(int status)
通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。
2.10 long freeMemory()
返回 Java 虚拟机中的空闲内存量。
2.11 void gc()
运行垃圾回收器。
2.12 InputStream getLocalizedInputStream(InputStream in)
已过时。 从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReader 和 BufferedReader 类。
2.13 OutputStream getLocalizedOutputStream(OutputStream out)
已过时。 从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriter、BufferedWriter 和 PrintWriter 类。
2.14 static Runtime getRuntime()
返回与当前 Java 应用程序相关的运行时对象。
2.15 void halt(int status)
强行终止目前正在运行的 Java 虚拟机。
2.16 void load(String filename)
加载作为动态库的指定文件名。
2.17 void loadLibrary(String libname)
加载具有指定库名的动态库。
2.18 long maxMemory()
返回 Java 虚拟机试图使用的最大内存量。
2.19 boolean removeShutdownHook(Thread hook)
取消注册某个先前已注册的虚拟机关闭挂钩。
2.20 void runFinalization()
运行挂起 finalization 的所有对象的终止方法。
2.21 static void runFinalizersOnExit(boolean value)
已过时。 此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。
2.22 long totalMemory()
返回 Java 虚拟机中的内存总量。
2.23 void traceInstructions(boolean on)
启用/禁用指令跟踪。
2.24 void traceMethodCalls(boolean on)
启用/禁用方法调用跟踪。
本文持续更新中。。。