• 九、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 参数

    九、JVM环境工具类

    9、JVM环境工具类

    9.1 使用类

    org.voovan.tools.TEnv


    9.2 方法说明

    9.2.1 休眠函数
    1. public static void sleep(int sleepTime)
    • sleepTime: 休眠事件,单位:毫秒。

    9.2.2 获取当前栈信息
    1. public static StackTraceElement[] getStackElements()
    • 返回值: 当前栈对象数组。
    9.2.3 获取当前栈信息
    1. public static String getStackMessage()
    • 返回值: 当前栈信息字符串。
    9.2.4 获取给定栈信息
    1. public static String getStackElementsMessage(StackTraceElement[] stackTraceElements)
    • stackTraceElements: 栈数组。
    • 返回值: 栈信息字符串。

    9.2.5 从当前进程的ClassPath中寻找 Class
    1. public static List<Class> searchClassInEnv(String pattern, Class[] filters)
    • 为JVM加载一个jar包 或者一个目录到 classpath。
    • pattern: 确认匹配的正则表达式。
    • filters: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。
    • 返回值: 匹配到的 class 集合。

    9.2.6 为JVM加载ClassPath
    1. public static void addClassPath(File file)
    2. public static void addClassPath(String filePath)
    • 为JVM加载一个jar包, 一个目录内的所有 jar 包 或者一个目录到 classpath。
    • file: 文件路径。
    • filePath: 文件路径。

    9.2.7 从指定 File 对象寻找 Class
    1. public static List<Class> getDirectorClass(File rootfile, String pattern, Class[] filters)
    • 从指定 File 对象寻找 Class。
    • rootfile: 文件目录 File 对象。
    • pattern: 确认匹配的正则表达式。
    • filters: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。

    9.2.8 从指定jar 文件中寻找 Class
    1. public static List<Class> getJarClass(File jarFile, String pattern, Class[] filters)
    • 从目录读取所有 Jar 文件,递归并加载到JVM。
    • rootfile: jar 文件 File 对象。
    • pattern: 确认匹配的正则表达式。
    • filters: 过滤的 class, 满足这些条件的 class 才会被搜索到(注解,接口,继承的类)。

    9.2.9 获取JVM中的所有线程
    1. public static Thread[] getThreads()
    • 返回值: JVM中的所有线程。

    9.2.10 构造一个系统进程
    1. createSysProcess(String command, String[] env, File workDir) throws IOException
    2. public static Process createSysProcess(String command, String[] env, String workDir) throws IOException
    • command: command 命令行
    • env: 环境变量
    • workDir: 工作目录
    • 返回值: 控制台输出。

    9.2.11 获取当前进程 PID
    1. public static long getCurrentPID()
    • 返回值: 当前进程 ID。
    9.2.12 获取 Class 的修改时间
    1. public static long getClassModifyTime(Class clazz)
    • clazz: Class 对象。
    • 返回值: 返回: 修改时间, -1 文件不存在 / 文件不是 Class 文件 / IO 异常。
    9.2.13 获取进程的主线程
    1. public static Thread getMainThread()
    • 返回值: 进程的主线程。
    9.2.14 判断主线程是否结束
    1. public static Thread getMainThread()
    • 返回值: true: 主线程结束, false: 主线程未结束。
    9.2.15 获取指定的 Class 的 URLClassLoader
    1. public static URLClassLoader getURLClassLoader(Class clazz)
    2. public static Thread getMainThread()
    • 如果指定的 Class 不是使用 URLClassLoader 加载的,则使用 ClassLoader.getSystemClassLoader()获取 JVM 的 ClassLoader
    • clazz: Class 对象。
    • 返回值: URLClassLoader对象。
    9.2.16 将class 转换成 资源资源文件路径
    1. public static String classToResource(Class clazz)
    • clazz: Class 对象。
    • 返回值: 资源文件路径。
    9.2.17 将资源文件路径 转换成 Class
    1. public static Class resourceToClass(String resourcePath) throws ClassNotFoundException
    • resourcePath: 资源资源文件路径。
      • 返回值: Class对象。
    9.2.18 返回当前 jvm 的 JAVA_HOME 参数
    1. public static Class resourceToClass(String resourcePath) throws ClassNotFoundException
    • 返回值: 当前 jvm 的 JAVA_HOME 参数。