@Override
    public void register(Thread thread) {
        logger.info("register() started.");

        JavaLangAccess javaLangAccess = SharedSecrets.getJavaLangAccess();
        for (int i = 3; i < 10; i++) {
            try {
                javaLangAccess.registerShutdownHook(i, true, thread);
                logger.info("register() completed.");
                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-jdk8/src/main/java/com/navercorp/pinpoint/profiler/shutdown/Java7ShutdownHookRegister.java