private Category detectClassLoading()

in oap-server/server-library/library-async-profiler-jfr-parser/src/main/java/org/apache/skywalking/oap/server/library/jfr/type/Classifier.java [80:105]


    private Category detectClassLoading(long[] methods, byte[] types) {
        for (int i = 0; i < methods.length; i++) {
            String methodName = getMethodName(methods[i], types[i]);
            if (methodName.equals("Verifier::verify")) {
                return Category.CLASS_VERIFY;
            } else if (methodName.startsWith("InstanceKlass::initialize")) {
                return Category.CLASS_INIT;
            } else if (methodName.startsWith("LinkResolver::") ||
                    methodName.startsWith("InterpreterRuntime::resolve") ||
                    methodName.startsWith("SystemDictionary::resolve")) {
                return Category.CLASS_RESOLVE;
            } else if (methodName.endsWith("ClassLoader.loadClass")) {
                return Category.CLASS_LOAD;
            } else if (methodName.endsWith("LambdaMetafactory.metafactory") ||
                    methodName.endsWith("LambdaMetafactory.altMetafactory")) {
                return Category.LAMBDA_INIT;
            } else if (methodName.endsWith("table stub")) {
                return Category.VTABLE_STUBS;
            } else if (methodName.equals("Interpreter")) {
                return Category.INTERPRETER;
            } else if (methodName.startsWith("I2C/C2I")) {
                return i + 1 < types.length && types[i + 1] == TYPE_INTERPRETED ? Category.INTERPRETER : Category.ADAPTER;
            }
        }
        return null;
    }