本文整理汇总了Java中sun.management.ManagementFactoryHelper.getDiagnosticCommandMBean方法的典型用法代码示例。如果您正苦于以下问题:Java ManagementFactoryHelper.getDiagnosticCommandMBean方法的具体用法?Java ManagementFactoryHelper.getDiagnosticCommandMBean怎么用?Java ManagementFactoryHelper.getDiagnosticCommandMBean使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sun.management.ManagementFactoryHelper
的用法示例。
在下文中一共展示了ManagementFactoryHelper.getDiagnosticCommandMBean方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: executeDcmd
import sun.management.ManagementFactoryHelper; //导入方法依赖的package包/类
private static String executeDcmd(String cmd, String ... args) {
DiagnosticCommandMBean dcmd = ManagementFactoryHelper.getDiagnosticCommandMBean();
Object[] dcmdArgs = {args};
String[] signature = {String[].class.getName()};
String cmdString = cmd + " " +
Arrays.stream(args).collect(Collectors.joining(" "));
File f = new File("dcmdoutput-" + cmd + "-" + System.currentTimeMillis() + ".txt");
System.out.println("Output from Dcmd '" + cmdString + "' is being written to file " + f);
try (FileWriter fw = new FileWriter(f)) {
fw.write("> " + cmdString + ":");
String result = (String) dcmd.invoke(cmd, dcmdArgs, signature);
fw.write(result);
return result;
} catch(Exception ex) {
ex.printStackTrace();
}
return null;
}
示例2: executeDcmd
import sun.management.ManagementFactoryHelper; //导入方法依赖的package包/类
private static String executeDcmd(String cmd, String ... args) {
DiagnosticCommandMBean dcmd = ManagementFactoryHelper.getDiagnosticCommandMBean();
Object[] dcmdArgs = {args};
String[] signature = {String[].class.getName()};
try {
System.out.print("> " + cmd + " ");
for (String s : args) {
System.out.print(s + " ");
}
System.out.println(":");
String result = (String) dcmd.invoke(cmd, dcmdArgs, signature);
System.out.println(result);
return result;
} catch(Exception ex) {
ex.printStackTrace();
}
return null;
}
示例3: doMethodInBacktraceTestB
import sun.management.ManagementFactoryHelper; //导入方法依赖的package包/类
private void doMethodInBacktraceTestB() throws Exception {
// Start a thread which blocks in method
Thread t = new Thread(RedefineMethodInBacktraceTargetB::methodToRedefine);
t.setDaemon(true);
t.start();
// Wait here until the new thread is in the method we want to redefine
called.await();
// Now redefine the class while the method is still on the stack of the new thread
doRedefine(RedefineMethodInBacktraceTargetB.class);
// Do thread dumps in two different ways (to exercise different code paths)
// while the old class is still on the stack
ThreadInfo[] tis = ManagementFactory.getThreadMXBean().dumpAllThreads(false, false);
for(ThreadInfo ti : tis) {
System.out.println(ti);
}
String[] threadPrintArgs = {};
Object[] dcmdArgs = {threadPrintArgs};
String[] signature = {String[].class.getName()};
DiagnosticCommandMBean dcmd = ManagementFactoryHelper.getDiagnosticCommandMBean();
System.out.println(dcmd.invoke("threadPrint", dcmdArgs, signature));
// release the thread
stop.countDown();
}