帮我看一下这段代码的详细运作机制!static {
      Runtime runtime = Runtime.getRuntime();
    Class c = runtime.getClass();
    try {
      Method m = c.getMethod("addShutdownHook", new Class[] { Thread.class } );
      m.invoke(runtime, new Object[] { new ShutdownThread() });
    }catch (NoSuchMethodException nsme) {
          }
    catch (Exception e) {
      e.printStackTrace();
    }    
  }