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