你看不懂的spring原理是因为不知道这几个概念
背景
問題從一杯咖啡開始。
今天我去樓下咖啡機買了一杯「粉黛拿鐵」。制作過程中顯示:
我取了做好的粉黛拿鐵,喝了一口,果然就是一杯熱巧克力。咦咦咦,說好的拿鐵呢?雖然我對「零點吧」的咖啡評價很高,覺得味道不亞于星爸爸。但是不可否認它確實給了我一杯假的拿鐵。
現在很多技術專家好比品鑒咖啡的專家。他們并不需要知道咖啡豆和可可豆的區別,更不知道這兩種植物長在樹上是什么樣子。沒關系,這并不影響他們區別一杯咖啡是拿鐵、摩卡還是卡布奇諾。就好像工作中遇到團隊配合的情況,他們并不需要知道別人團隊的產品是怎么實現的,只需要在他們出問題的時候讓他們幫忙解決。所以,現在很多工作招高級別的人都要求良好的溝通和推動能力。技術能力反而考察的沒有那么細致。
但是作為技術人員,了解底層是很重要的。因為我們不是買咖啡的,而是生產咖啡機的。有一天,咖啡機不工作了,經過分析監控報警和日志大數據,終于找到原因:一粒咖啡豆太小卡到了凹槽里。清理了這粒咖啡豆,咖啡機又正常工作了。這就結束了嗎?
?
不,我們要復盤,用5Why分析法找到問題的根因。
Q:為什么咖啡機會不工作?
A:因為一粒咖啡豆卡在里凹槽里。
Q:為什么會卡在凹槽里?
A:因為這粒咖啡豆太小了,就掉下去了。
Q:為什么太小了就會掉下去?
A:因為咖啡豆基本都是圓形,咖啡豆之間有很大的空隙,彼此沒有壓力。只是受到重力影響,就掉下去了。
Q:為什么咖啡豆都是圓形,不能生產出方形,彼此緊密契合的咖啡豆嗎?
?
這時候就是后悔不知道咖啡豆到底長在哪種樹上的時間了。不了解所以沒有辦法做出合理的改變。
現在我們都喜歡用SpringBoot。平時工作的好好的,突然公司要求做一個基礎組件的升級,咦咦咦,本地運行的好好的。發布到服務器上跑不起來。當初搭建開發基礎框架的小哥早已離職,是看著那堆日志發愣呢?還是了解一下里面的基礎概念順藤摸瓜呢?廢話到此為止。
?
概念
SpringBoot是什么?
SpringBoot是一個框架和編程規范。它化簡了很多個框架和組件的使用,一站式簡單的完成文件配置和應用部署。因為它內置服務器并裝備啟動類代碼,可以快速開啟一個Web容器。
Web容器是什么?
Web容器是一種可以處理從客戶端發出請求的應用程序。在服務器中一個端口就對應一個提供相應服務的程序。在Java方面,web任憑器一般是指Servlet容器。
Servlet是什么?
Servlet只是一個接口。它聲明了Servlet的生命周期的三個基本方法:init()、service()和destroy()。Web容器會在特定時間調用這些方法。Servlet是提供了一個標準,是J2EE的13個標準接口規范之一。
J2EE是什么?
J2EE(Java 2 Platfrom, Enterprise Edition)最初是一個為大企業主機級的計算類似而設計的Java平臺。這個標準給提供可重用模塊組件組件提供了土壤。就是定義一系列的接口,你們要實現什么功能都要在這些接口基礎上。根據場景Java2平臺主要包括標準版(J2SE)、企業版(J2EE)和微縮版(J2ME)三個版本。
Java2平臺是什么?
Sun公司在1998年發表JDK1.2版本的時候,使用了新名字Java 2 Platform。修改后的JDK成為Java 2 Platfrom Software Developing Kit 即J2SDK。
Web容器和Netty的關系
Web容器(如tomcat、jetty)主要處理從客戶端傳過來的消息,將消息分給worker線程來處理。worker線程做的事情就是通過Servlet來做的。而接受消息線程和worker線程之間的協調溝通工作目前主流是Netty來做的。
一張圖大體表示一下他們的關系:
?
總結
如果做一件事情很麻煩,那一定有一個好方法。
?
相關閱讀
四象限分析法分析你是否適合做管理
復聯4里用到的方法論
年紀大了,是否該往管理方向轉型?
架構視角 - DDD、TDD、MDD領域驅動、測試驅動還是模型驅動?
轉載于:https://www.cnblogs.com/xiexj/p/11057008.html
總結
以上是生活随笔為你收集整理的你看不懂的spring原理是因为不知道这几个概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 昆山住房公积金个人怎么提取 昆山公积金如
- 下一篇: 最终屏幕录制方案