- 九、JVM环境工具类
- 9、JVM环境工具类
- 9.1 使用类
- 9.2 方法说明
- 9.2.1 休眠函数
- 9.2.2 获取当前栈信息
- 9.2.3 获取当前栈信息
- 9.2.4 获取给定栈信息
- 9.2.5 从当前进程的ClassPath中寻找 Class
- 9.2.6 为JVM加载ClassPath
- 9.2.7 从指定 File 对象寻找 Class
- 9.2.8 从指定jar 文件中寻找 Class
- 9.2.9 获取JVM中的所有线程
- 9.2.10 构造一个系统进程
- 9.2.11 获取当前进程 PID
- 9.2.12 获取 Class 的修改时间
- 9.2.13 获取进程的主线程
- 9.2.14 判断主线程是否结束
- 9.2.15 获取指定的 Class 的 URLClassLoader
- 9.2.16 将class 转换成 资源资源文件路径
- 9.2.17 将资源文件路径 转换成 Class
- 9.2.18 返回当前 jvm 的 JAVA_HOME 参数
- 9、JVM环境工具类
九、JVM环境工具类
9、JVM环境工具类
9.1 使用类
org.voovan.tools.TEnv
9.2 方法说明
9.2.1 休眠函数
public static void sleep(int sleepTime)
sleepTime
: 休眠事件,单位:毫秒。
9.2.2 获取当前栈信息
public static StackTraceElement[] getStackElements()
返回值
: 当前栈对象数组。
9.2.3 获取当前栈信息
public static String getStackMessage()
返回值
: 当前栈信息字符串。
9.2.4 获取给定栈信息
public static String getStackElementsMessage(StackTraceElement[] stackTraceElements)
stackTraceElements
: 栈数组。返回值
: 栈信息字符串。
9.2.5 从当前进程的ClassPath中寻找 Class
public static List<Class> searchClassInEnv(String pattern, Class[] filters)
- 为JVM加载一个jar包 或者一个目录到 classpath。
pattern
: 确认匹配的正则表达式。filters
: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。返回值
: 匹配到的 class 集合。
9.2.6 为JVM加载ClassPath
public static void addClassPath(File file)
public static void addClassPath(String filePath)
- 为JVM加载一个jar包, 一个目录内的所有 jar 包 或者一个目录到 classpath。
file
: 文件路径。filePath
: 文件路径。
9.2.7 从指定 File 对象寻找 Class
public static List<Class> getDirectorClass(File rootfile, String pattern, Class[] filters)
- 从指定 File 对象寻找 Class。
rootfile
: 文件目录 File 对象。pattern
: 确认匹配的正则表达式。filters
: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。
9.2.8 从指定jar 文件中寻找 Class
public static List<Class> getJarClass(File jarFile, String pattern, Class[] filters)
- 从目录读取所有 Jar 文件,递归并加载到JVM。
rootfile
: jar 文件 File 对象。pattern
: 确认匹配的正则表达式。filters
: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。
9.2.9 获取JVM中的所有线程
public static Thread[] getThreads()
返回值
: JVM中的所有线程。
9.2.10 构造一个系统进程
createSysProcess(String command, String[] env, File workDir) throws IOException
public static Process createSysProcess(String command, String[] env, String workDir) throws IOException
command
: command 命令行env
: 环境变量workDir
: 工作目录返回值
: 控制台输出。
9.2.11 获取当前进程 PID
public static long getCurrentPID()
返回值
: 当前进程 ID。
9.2.12 获取 Class 的修改时间
public static long getClassModifyTime(Class clazz)
clazz
: Class 对象。返回值
: 返回: 修改时间, -1 文件不存在 / 文件不是 Class 文件 / IO 异常。
9.2.13 获取进程的主线程
public static Thread getMainThread()
返回值
: 进程的主线程。
9.2.14 判断主线程是否结束
public static Thread getMainThread()
返回值
: true: 主线程结束, false: 主线程未结束。
9.2.15 获取指定的 Class 的 URLClassLoader
public static URLClassLoader getURLClassLoader(Class clazz)
public static Thread getMainThread()
- 如果指定的 Class 不是使用 URLClassLoader 加载的,则使用 ClassLoader.getSystemClassLoader()获取 JVM 的 ClassLoader
clazz
: Class 对象。返回值
: URLClassLoader对象。
9.2.16 将class 转换成 资源资源文件路径
public static String classToResource(Class clazz)
clazz
: Class 对象。返回值
: 资源文件路径。
9.2.17 将资源文件路径 转换成 Class
public static Class resourceToClass(String resourcePath) throws ClassNotFoundException
resourcePath
: 资源资源文件路径。返回值
: Class对象。
9.2.18 返回当前 jvm 的 JAVA_HOME 参数
public static Class resourceToClass(String resourcePath) throws ClassNotFoundException
返回值
: 当前 jvm 的 JAVA_HOME 参数。