# javap -p -c on spring-boot-4.1.2.jar: the compiled SpringApplication.callRunners --- javap -p org.springframework.boot.Runner / CommandLineRunner / ApplicationRunner --- Compiled from "Runner.java" interface org.springframework.boot.Runner { } Compiled from "CommandLineRunner.java" public interface org.springframework.boot.CommandLineRunner extends org.springframework.boot.Runner { public abstract void run(java.lang.String...) throws java.lang.Exception; } Compiled from "ApplicationRunner.java" public interface org.springframework.boot.ApplicationRunner extends org.springframework.boot.Runner { public abstract void run(org.springframework.boot.ApplicationArguments) throws java.lang.Exception; } --- invoke* instructions inside callRunners --- invokeinterface #393, 1 // InterfaceMethod org/springframework/context/ConfigurableApplicationContext.getBeanFactory:()Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory; invokeinterface #966, 2 // InterfaceMethod org/springframework/beans/factory/config/ConfigurableListableBeanFactory.getBeanNamesForType:(Ljava/lang/Class;)[Ljava/lang/String; new #970 // class java/util/IdentityHashMap invokespecial #972 // Method java/util/IdentityHashMap."":()V invokeinterface #973, 3 // InterfaceMethod org/springframework/beans/factory/config/ConfigurableListableBeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; invokeinterface #977, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; invokevirtual #983 // Method getOrderComparator:(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)Lorg/springframework/core/OrderComparator; new #987 // class org/springframework/boot/SpringApplication$FactoryAwareOrderSourceProvider invokespecial #989 // Method org/springframework/boot/SpringApplication$FactoryAwareOrderSourceProvider."":(Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;Ljava/util/Map;)V invokevirtual #992 // Method org/springframework/core/OrderComparator.withSourceProvider:(Lorg/springframework/core/OrderComparator$OrderSourceProvider;)Ljava/util/Comparator; invokeinterface #998, 1 // InterfaceMethod java/util/Map.keySet:()Ljava/util/Set; invokeinterface #1001, 1 // InterfaceMethod java/util/Set.stream:()Ljava/util/stream/Stream; invokeinterface #1002, 2 // InterfaceMethod java/util/stream/Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream; invokedynamic #1006, 0 // InvokeDynamic #12:accept:(Lorg/springframework/boot/SpringApplication;Lorg/springframework/boot/ApplicationArguments;)Ljava/util/function/Consumer; invokeinterface #1009, 2 // InterfaceMethod java/util/stream/Stream.forEach:(Ljava/util/function/Consumer;)V