固執(zhí)的bug,讓你想起了……

???每隔一段時間都要思考一下自己目前的處境、分析自己的各種特質(zhì)、探索自己內(nèi)在的追求。不要因循茍且。

今天早上上班打卡,提醒我我已經(jīng)入職一年了,是的這是我第二份工作,已經(jīng)工作快滿兩年了。已經(jīng)好久沒有更文了。這篇簡短的隨筆就記錄下最近的思考。



①數(shù)據(jù)量級變化,你的代碼顫抖嗎?

最近做的一個需求,線上發(fā)版后。只有在某個賬號下(線上賬號),點擊該功能查詢數(shù)據(jù),才會出現(xiàn)服務(wù)器異常。

最終排查及優(yōu)化:我在程序中進行數(shù)據(jù)拼裝,而當(dāng)前賬號的數(shù)據(jù)循環(huán)是百級套多個萬級的循環(huán),導(dǎo)致查崩了;說白了,就是代碼效率太低了,沒有考慮到萬級的數(shù)量計算!那我干脆就利用SQL關(guān)聯(lián)查詢數(shù)據(jù),不在代碼中進行循環(huán)組裝數(shù)據(jù)了,以此來提高效率。后來又想到,為什么不用緩存呀!存入redis中。

當(dāng)數(shù)據(jù)的數(shù)量級從上升到萬級百萬級時,我們就不能局限于功能的實現(xiàn),而要更多考慮性能問題。開始可能要進行緩存,當(dāng)數(shù)量級變大后,要考慮分庫分表,做集群等等

這個問題的出現(xiàn),讓我立刻聯(lián)想到在第一家公司我們幾個實習(xí)生做的一個園區(qū)管理系統(tǒng),都沒有考慮到后期項目,如果存在萬級,百萬級的數(shù)據(jù)處理問題,那么后期維護起來就會越來越麻煩,要進行項目優(yōu)化。

②原來如此的精髓在于你問問題的深度

近來有兩件小事,讓我覺得問問題的深度決定你是否能捅破那一層窗戶紙。有一種相見恨晚的感覺!

前段時間,在研究spring源碼 (你知道我暈了多少次嗎,自己體會去吧……),然后手寫自己的一個minispring框架時,發(fā)現(xiàn),原來spring是繼承了httpservlet呀,這不就是剛開始做servlet程序的內(nèi)容嘛,說白了spring就是在servelt程序基礎(chǔ)上,封裝優(yōu)化演變?yōu)閟pring的,瞬間恍然大悟!

關(guān)于servlet,早已經(jīng)模糊了,于是從頭到尾找教程模仿了一遍,天呢,這個課程的內(nèi)容,大學(xué)的時候?qū)W過,好吧,我都早已經(jīng)忘了,只記得學(xué)過!看完才意識到servlet,可以理解為后臺處理請求的原生代碼,后面的spring 分明就是基于它而來的。

系統(tǒng)的看完servlet后,關(guān)于后面衍生出jsp,看到j(luò)sp被jsp container 先轉(zhuǎn)譯為jsp_servlet.java文件,然后再執(zhí)行編譯為.class文件,然后將響應(yīng)的結(jié)果返回給瀏覽器。我們都知道編譯,但是你知道怎么轉(zhuǎn)譯嗎?tomcat是如何轉(zhuǎn)譯的?轉(zhuǎn)譯后的文件內(nèi)容是什么?

我一步一步深究下去,發(fā)下轉(zhuǎn)譯后的文件在\tomcat\work\Catalina\localhost\_\org\apache\jsp

下,打開這個文件發(fā)現(xiàn),竟然有實現(xiàn)了httpjspbean,探究到底 httpjspbean也是繼承了servlet,說白了 jsp就是一個servlet!? 細細看這個轉(zhuǎn)譯的文件,還發(fā)現(xiàn)了單例模式的應(yīng)用,以及內(nèi)置對象的初始化……

而這,我在翻看我之前的簡書文章,發(fā)現(xiàn)之前有記過筆記,而然,當(dāng)時并不能深刻理解為什么會轉(zhuǎn)譯,是如何轉(zhuǎn)譯的?轉(zhuǎn)譯的內(nèi)容是什么?只是記住了這個請求流程!為什么我在學(xué)校的時候沒有在深問一層呢?!不然也不至于云里霧里,估計當(dāng)時就是不能深刻理解吧,真的是打臉,相識恨晚。這種融會貫通的體驗,可能就是差了種打破砂鍋問到底的精神,差了這種問問題的深度,當(dāng)然,這也與實踐過程中的思考密不可分!


③……

未完待續(xù),隨筆僅作記錄,改日精簡優(yōu)化!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容