@Override
    public void register(Thread thread) {
        logger.info("register() started.");
        JavaLangAccess javaLangAccess = JavaLangAccessHelper.getJavaLangAccess();
        if (javaLangAccess != null) {
            for (int i = 3; i < 10; i++) {
                try {
                    javaLangAccess.registerShutdownHook(i, true, thread);
                    logger.info("register({}) completed.", i);
                    return;
                } catch (Throwable ignored) {
                }
            }
        }
        Runtime.getRuntime().addShutdownHook(thread);
        logger.info("register() completed. (ShutdownHook registered in java.lang.Runtime.)");
    }
If  change the name of this class,
The changed class name must be applied in `com.navercorp.pinpoint.profile.context.provider.ShutdownHookRegisterProvider `

@author Taejin Koo
agent-module/profiler-optional/profiler-optional-jdk9/src/main/java/com/navercorp/pinpoint/profiler/shutdown/Java9ShutdownHookRegister.java