< prev index next >

test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapProc.java

Print this page

        

*** 19,34 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ - import java.lang.management.ManagementFactory; - import java.lang.management.RuntimeMXBean; - import java.lang.reflect.Field; - import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import sun.management.VMManagement; public class JMapHProfLargeHeapProc { private static final List<byte[]> heapGarbage = new ArrayList<>(); --- 19,31 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ import java.util.ArrayList; import java.util.List; + import jdk.test.lib.process.ProcessTools; import sun.management.VMManagement; public class JMapHProfLargeHeapProc { private static final List<byte[]> heapGarbage = new ArrayList<>();
*** 36,46 **** public static void main(String[] args) throws Exception { buildLargeHeap(args); // Print our pid on stdout ! System.out.println("PID[" + getProcessId() + "]"); // Wait for input before termination System.in.read(); } --- 33,43 ---- public static void main(String[] args) throws Exception { buildLargeHeap(args); // Print our pid on stdout ! System.out.println("PID[" + ProcessTools.getProcessId() + "]"); // Wait for input before termination System.in.read(); }
*** 48,71 **** for (long i = 0; i < Integer.parseInt(args[0]); i++) { heapGarbage.add(new byte[1024]); } } - public static int getProcessId() throws Exception { - - // Get the current process id using a reflection hack - RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean(); - Field jvm = runtime.getClass().getDeclaredField("jvm"); - - jvm.setAccessible(true); - VMManagement mgmt = (sun.management.VMManagement) jvm.get(runtime); - - Method pid_method = mgmt.getClass().getDeclaredMethod("getProcessId"); - - pid_method.setAccessible(true); - - int pid = (Integer) pid_method.invoke(mgmt); - - return pid; - } - } --- 45,50 ----
< prev index next >