天天看点

【Java面试】什么是嵌入式容器?为什么要使用嵌入式容...

什么是嵌入式容器?为什么要使用嵌入式容器?

Tom老师,有位粉丝最近去面试,说有两家公司都问到了什么是嵌入式容器?为什么需要使用嵌入式容器?你能详细解释一下吗?现在我工作确实很难,所以大家还是要做好充分准备再去面试,该刷的面试题还是要刷。之前我就分享过一份50万字的程序员面试宝典,大家可以记得去看一下,没领到的可以在评论区置顶中领取。

针对这个问题其实可以用Spring Baot来举例。

·在没有使用Spring Boot的时候,比如说用Spring MVC这些框架的时候,就是在我们写好程序以后需要在服务器上先部署一个Tomcat。Tomea其实是遵循了Tomea的一个标准来设计的,所以我们写好的程序会放到Tomeat的Webapp目录下。

【Java面试】什么是嵌入式容器?为什么要使用嵌入式容...

这个时候tomcat就作为一个普通的web 容器存在,当然也可以理解成是一个中间件,也就是说是可以单独部署在操作系统上的。

【Java面试】什么是嵌入式容器?为什么要使用嵌入式容...

·有了Spring Boot之后就只需要将开发好的程序构建成一个下包,然后单独部署到操作系统上就可以当做是一个Web容器直接运行了,而不再需要去单独安装Tomcat。

难道Spring Boot就不需要 Tomcat了吗?显然不是。是因为Spring Boot内嵌的一个tomcat jar的jar包。当我们 Spring Boot的主程序启动的时候,就会调用同门 cat点架的这么一个魅方法,就相当于是间接把Tomcat给启动了。

然后就利用Tumcat的SPI机制去加载Spr,它会去加载Spring MVC这样的一些应用程序,这样我们开发的Web程序就能够正常运行起来了。所以启动Spring Boot就相当于启动了Web容器,这就是嵌入式容器。

【Java面试】什么是嵌入式容器?为什么要使用嵌入式容...

那为什么要需要嵌入式容器?理解了嵌入式容器自然就能够想清楚为什么需要嵌入式容器了。我个人理解我觉得最主要的是简化开发,提高运维效率。因为spring将解放程序员的双手,来的理念就是去解放程序员的双手,然后让程序员更加专注于业务,尽可能少花时间在一些重复的配置上。

【Java面试】什么是嵌入式容器?为什么要使用嵌入式容...

你看有了这种嵌入式的容器,操作系统就只需要装一个gvm就可以运行外部程序了,这个问题回答起来还是比较简单的。

今天的分享就到这里,感谢大家的关注和点赞。各位糖粉如果还有需要补充,可以在评论区留言。转发,评论。