日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

How Tomcat works — 一、怎样阅读源码

發(fā)布時(shí)間:2023/11/29 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 How Tomcat works — 一、怎样阅读源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在編程的道路上,通過閱讀優(yōu)秀的代碼來提升自己是很好的辦法。一直想閱讀一些開源項(xiàng)目,可是沒有合適的機(jī)會(huì)開始。最近做項(xiàng)目的時(shí)候用到了shiro,需要做集群的session共享,經(jīng)過查找發(fā)現(xiàn)tomcat的session本身就支持,發(fā)現(xiàn)自己對(duì)于使用了這么久的東西還是不甚了解,所以就乘此機(jī)會(huì)來學(xué)習(xí)學(xué)習(xí)。
閱讀源碼已經(jīng)兩周了,之所以沒有邊讀邊總結(jié)是覺得一開始難以總攬全局,可能會(huì)以偏概全,所以在對(duì)整體上有所把握之后,來記錄一下自己的所學(xué).

方法

其實(shí)這些方法是閱讀之前就有個(gè)雛形,然后參考了別人閱讀源碼的方式(其實(shí)在做一件事之前搞清楚方法總是事半功倍的),再加上自己實(shí)踐中的心得總結(jié)出來的。

  • 準(zhǔn)備源碼,IDE,寫一個(gè)最簡(jiǎn)單的例子,使程序正常運(yùn)行
  • 最好準(zhǔn)備一些問題,讀源碼的基礎(chǔ)一定是自己使用已經(jīng)很多了,在使用過程中積累的一些問題可以總結(jié)記錄下來,在讀源碼的時(shí)候一一解決。
  • 第一步不要在意細(xì)節(jié),先理清主干。把程序運(yùn)行起來,逐步調(diào)試,畫出程序運(yùn)行的時(shí)序圖。注意:
    • 不要每一個(gè)函數(shù)都逐步調(diào)試進(jìn)入,對(duì)于不重要的先畫在時(shí)序圖里面,簡(jiǎn)單記錄(猜測(cè))功能
    • 遇到新的線程先不去仔細(xì)查看,先記錄,繼續(xù)
  • 經(jīng)過上面已經(jīng)明白了整體脈絡(luò),接下來就查看自己上面遺留了那些問題,針對(duì)每一個(gè)問題(分支)再仔細(xì)閱讀
  • 根據(jù)第二步理出來的問題逐一解答,再次有針對(duì)性的閱讀
  • 這個(gè)時(shí)候?qū)τ谠创a已經(jīng)了解比較深入了,可以考慮學(xué)習(xí)一些設(shè)計(jì)模式,關(guān)鍵數(shù)據(jù)結(jié)構(gòu),關(guān)鍵算法,優(yōu)秀的思想,一些關(guān)鍵類,關(guān)鍵方法
  • 工具

    不同語言、不同目的閱讀源碼的方法、工具也不盡相同,對(duì)于java我是用了以下工具,特別是斷點(diǎn)調(diào)試,對(duì)于跟蹤程序執(zhí)行順序有很大幫助,還有UML工具astah——通過繪制時(shí)序圖等很容易理清源碼思路。還有就是有問題或者想法要及時(shí)記錄,顯然haroopad是一款不錯(cuò)的markdown工具。

    • IDE為eclipse
    • 使用astah繪制時(shí)序圖
    • haroopad記錄markdown筆記

    本次閱讀

    我閱讀的tomcat源碼版本是7.0.69,參考的是《深入剖析tomcat》,書中tomcat的版本是4、5,已經(jīng)比較老了,有些東西已經(jīng)變了,不過并不影響對(duì)于某些原理的理解和整體的把握。

    轉(zhuǎn)載于:https://www.cnblogs.com/sunshine-2015/p/5744299.html

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的How Tomcat works — 一、怎样阅读源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。