码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot高级面试题

时间:2020-08-19 19:49:39      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:ade   jar包   back   tab   loader   父类   ati   一个   程序打包   

1.为什么SpringBoot的jar包可以直接运行?

  SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。

  然后可以直接执行jar包就能启动程序了:java -jar executable-jar-1.0-SNAPSHOT.jar

  当我们使用java -jar执行jar包的时候会调用JarLauncher的main方法,而不是我们编写的SpringApplication。

  JarLauncher这个类是SpringBoot内部提供的工具Spring Boot Loader提供的一个用于执行Application类的工具类。

  LaunchedURLClassLoader重写了loadClass方法,也就是说它修改了默认的类加载方式,不再是直接从父类加载器中去加载。

SpringBoot高级面试题

标签:ade   jar包   back   tab   loader   父类   ati   一个   程序打包   

原文地址:https://www.cnblogs.com/wk-missQ1/p/13516940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!