// 参考来源:org.springframework.boot.system.ApplicationPid.java#getPid() public static String getPid() { try { String jvmName = ManagementFactory.getRuntimeMXBean().getName(); System.out.println("jvmName : " + jvmName); return jvmName.split("@")[0]; } catch (Throwable ex) { ex.printStackTrace(); return null; } }
public static void test05() throws Exception { System.out.println("pid : " + getPid()); System.out.println(StringUtils.center("CompilationMXBean", 100, "=")); CompilationMXBean compilationMXBean = ManagementFactory.getCompilationMXBean(); System.out.println(compilationMXBean.getName()); System.out.println(compilationMXBean.getObjectName()); System.out.println(compilationMXBean.getTotalCompilationTime()); System.out.println(StringUtils.center("OperatingSystemMXBean", 100, "=")); OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); System.out.println(operatingSystemMXBean.getObjectName()); System.out.println(operatingSystemMXBean.getName()); System.out.println(operatingSystemMXBean.getAvailableProcessors()); System.out.println(operatingSystemMXBean.getArch()); System.out.println(operatingSystemMXBean.getSystemLoadAverage()); System.out.println(operatingSystemMXBean.getVersion()); System.out.println(StringUtils.center("RuntimeMXBean", 100, "=")); RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); System.out.println(runtimeMXBean.getObjectName()); System.out.println(runtimeMXBean.getName()); System.out.println(runtimeMXBean.getClassPath()); System.out.println(runtimeMXBean.getUptime()); System.out.println(runtimeMXBean.getVmName()); System.out.println(runtimeMXBean.getVmVersion()); System.out.println(runtimeMXBean.getVmVendor()); System.out.println(runtimeMXBean.getInputArguments()); System.out.println(runtimeMXBean.getBootClassPath()); System.out.println(runtimeMXBean.getManagementSpecVersion()); System.out.println(runtimeMXBean.getSpecName()); System.out.println(runtimeMXBean.getSpecVersion()); System.out.println(StringUtils.center("MemoryMXBean", 100, "=")); MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); System.out.println(memoryMXBean.getObjectName()); System.out.println(memoryMXBean.getHeapMemoryUsage()); System.out.println(memoryMXBean.getNonHeapMemoryUsage()); System.out.println(memoryMXBean.getObjectPendingFinalizationCount()); System.out.println(StringUtils.center("ClassLoadingMXBean", 100, "=")); ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean(); System.out.println(classLoadingMXBean.getObjectName()); System.out.println(classLoadingMXBean.getTotalLoadedClassCount()); System.out.println(classLoadingMXBean.getUnloadedClassCount()); System.out.println(StringUtils.center("ThreadMXBean", 100, "=")); ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); System.out.println(threadMXBean.getObjectName()); System.out.println(threadMXBean.getThreadInfo(Thread.currentThread().getId())); Arrays.stream(threadMXBean.getAllThreadIds()).forEach(id -> { System.out.println(String.format("id:%s, info:%s", id, threadMXBean.getThreadInfo(id))); }); System.out.println(StringUtils.center("JavaVersion", 100, "=")); String version = System.getProperty("java.version"); System.out.println("java.version:" + version); }
相关推荐
Java如何获取当前进程ID以及所有Java进程的进程ID Java 获取当前进程ID是指在 Java 程序中获取当前进程的 ID 号码,而获取所有 Java 进程的进程 ID 则是指获取所有当前正在运行的 Java 进程的 ID 号码。这些信息...
在命令行中运行`jstack <pid>`(pid是Java进程的ID),即可查看该进程的线程状态。 总结来说,Java提供了多种方式来查看JVM中的线程活动状况,无论是通过编程还是使用命令行工具,都能帮助开发者诊断和优化多线程...
以下代码展示了如何获取当前Java进程的CPU使用率和内存占用: ```java import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryUsage; ...
在Java中,`java.lang.management`包提供了`ManagementFactory`类,可以获取进程和系统的各种管理信息。例如,`ProcessMXBean`接口的`getProcessCount()`方法可以获取当前运行的进程数,而`getProcessCpuLoad()`则...
Java提供了一个名为`java.lang.management.ManagementFactory`的类,可以获取操作系统的进程信息。可以使用`OperatingSystemMXBean`的`getProcessId()`方法,结合`RuntimeMXBean`来查找目标进程。 5. **C#中的进程...
在Java中,`java.lang.management.ManagementFactory`类提供了获取进程信息的方法,如`ProcessMXBean`接口: ```java import java.lang.management.ManagementFactory; import java.lang.management.ProcessMXBean;...
Java中,可以使用`ManagementFactory`类的`RuntimeMXBean`和`getInputArguments()`方法获取当前进程的命令行参数。如果需要获取其他进程的参数,可能需要借助于操作系统级别的API。 对于C#,可以使用`System....
- Java:使用`java.lang.management.ManagementFactory`类的`getProcessList()`方法。 - C#/.NET:使用`System.Diagnostics.Process.GetProcesses()`方法。 - C++:Windows下可利用`CreateToolhelp32Snapshot`和`...
"获取正在运行进程的实例"这一主题涉及到如何在操作系统层面获取进程信息,以及如何计算这些进程所占用的内存资源。在此,我们将深入探讨这个话题,并提供相关的编程实现。 进程是操作系统中的一个基本概念,它代表...
在编程中,Python有`psutil`库,C#有`System.Diagnostics.Process`类,Java有`ManagementFactory`等,都可以方便地进行进程查询。 2. **删除进程**:终止进程在不同系统中的实现方法有所不同。在Windows中,`...
对于Java开发者,可以使用`java.lang.management`包中的`ManagementFactory`类来获取进程信息。例如,`ManagementFactory.getRuntimeMXBean().getInputArguments()`可以获取JVM的启动参数,而获取系统进程信息则需要...
而在Java中,可以使用`ManagementFactory`类的`getRunningProcessList`方法。 对于隐含的进程,它们可能是指那些不显示在任务管理器中的进程,通常是服务或者后台程序。这些进程可能不会在用户的桌面界面中显示窗口...
"KillAll:小口袋版Killall命令"是一个针对Java环境的轻量级工具,它旨在模仿Linux系统中的killall命令功能。...通过深入研究其源代码,我们可以学习到更多关于Java进程管理、操作系统交互以及命令行工具设计的知识。