什麼是嵌入式容器?為什麼要使用嵌入式容器?
Tom老師,有位粉絲最近去面試,說有兩家公司都問到了什麼是嵌入式容器?為什麼需要使用嵌入式容器?你能詳細解釋一下嗎?現在我工作确實很難,是以大家還是要做好充分準備再去面試,該刷的面試題還是要刷。之前我就分享過一份50萬字的程式員面試寶典,大家可以記得去看一下,沒領到的可以在評論區置頂中領取。
針對這個問題其實可以用Spring Baot來舉例。
·在沒有使用Spring Boot的時候,比如說用Spring MVC這些架構的時候,就是在我們寫好程式以後需要在伺服器上先部署一個Tomcat。Tomea其實是遵循了Tomea的一個标準來設計的,是以我們寫好的程式會放到Tomeat的Webapp目錄下。
這個時候tomcat就作為一個普通的web 容器存在,當然也可以了解成是一個中間件,也就是說是可以單獨部署在作業系統上的。
·有了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容器,這就是嵌入式容器。
那為什麼要需要嵌入式容器?了解了嵌入式容器自然就能夠想清楚為什麼需要嵌入式容器了。我個人了解我覺得最主要的是簡化開發,提高運維效率。因為spring将解放程式員的雙手,來的理念就是去解放程式員的雙手,然後讓程式員更加專注于業務,盡可能少花時間在一些重複的配置上。
你看有了這種嵌入式的容器,作業系統就隻需要裝一個gvm就可以運作外部程式了,這個問題回答起來還是比較簡單的。
今天的分享就到這裡,感謝大家的關注和點贊。各位糖粉如果還有需要補充,可以在評論區留言。轉發,評論。