一:學(xué)會如何讀一個JavaWeb項(xiàng)目源代碼 步驟:表結(jié)構(gòu)-web.xml-mvc-db-spring
創(chuàng)新互聯(lián)公司提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì),品牌網(wǎng)站設(shè)計(jì),廣告投放平臺等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十載的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破近1000家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
ioc-log- 代碼
1、先了解項(xiàng)目數(shù)據(jù)庫的表結(jié)構(gòu),這個方面是最容易忘記 的,有時(shí)候我們只顧著看每一個方法是怎么進(jìn)行的,卻沒
有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實(shí)如果先了解數(shù)據(jù) 庫表結(jié)構(gòu),再去看一個方法的實(shí)現(xiàn)會更加容易。
2、然后需要過一遍web.xml,知道項(xiàng)目中用到了什么攔
截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負(fù)責(zé)過濾請求,進(jìn)行AOP 等;如果是監(jiān) 可能是定時(shí)任務(wù),初始化任務(wù);配置文件有如使用了 spring
后的讀取mvc 相關(guān),db 相關(guān),service 相關(guān),aop 相關(guān)的文件。
3、查看攔截器,監(jiān)聽器代碼,知道攔截了什么請求,這
個類完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步, 自己寫了一個action,配置文件也沒有寫錯,但是卻怎么
調(diào)試也無法進(jìn)入這個action,直到別人告訴他,請求被攔
4、接下來,看配置文件,首先一定是mvc相關(guān)的,如 springmvc
中,要請求哪些請求是靜態(tài)資源,使用了哪些 view 策略,controller 注解放在哪個包下等。 然后是db 相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了
什么orm框架,是否開啟了二級緩存,使用哪種產(chǎn)品作 為二級緩存,事務(wù)管理的處理,需要掃描的實(shí)體類放在什 么位置。最后是spring 核心的ioc
功能相關(guān)的配置文件, 知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如 apectj 置文件,也是在這個步驟中完成
5、log
相關(guān)文件,日志的各個級別是如何處理的,在哪些 地方使用了log 記錄日志
6、從上面幾點(diǎn)后知道了整個開源項(xiàng)目的整體框架,閱讀 每個方法就不再那么難了。
7、當(dāng)然如果有項(xiàng)目配套的開發(fā)文檔也是要閱讀的。
1、學(xué)好基本語法,弄清Java的特點(diǎn)
學(xué)習(xí)Java,說白了,就是學(xué)習(xí)它的語法、功能、結(jié)構(gòu)等。然后按照它的語法編寫代碼。Java語法是學(xué)習(xí)的根本。開始學(xué)習(xí)時(shí),可能有些難懂。沒關(guān)系,這很正常。多看多問,多實(shí)踐,慢慢的你就入門了。
2、學(xué)習(xí)編程規(guī)范,編程中堅(jiān)持遵守
俗話說,無規(guī)矩不成方圓。編程是一個將思維邏輯變?yōu)榇a,讓計(jì)算機(jī)來執(zhí)行的過程。特別需要規(guī)范。無論是變量、函數(shù)命名還是代碼格式,都需要一致規(guī)范。這樣便于代碼的閱讀和修改。代碼的規(guī)范性,在代碼質(zhì)量中占據(jù)著重要的比重。
3、代碼盡量寫的簡單,易于理解
代碼的簡單性、正確性是最重要的。不要為了追求高效率而寫出晦澀難懂的代碼。后續(xù)閱讀和修改代碼時(shí),你會為晦澀的代碼付出很多代價(jià)。記住,盡量將代碼寫成初學(xué) Java就能讀懂的,那么你的代碼就十分的優(yōu)美了。
4、多看別人的代碼
對同一種功能的實(shí)現(xiàn),可以有很多種編碼方式。多讀別人的代碼,非常有利用開拓思路,提高編碼的靈活性。甚至經(jīng)??梢詮膭e人的代碼中得到啟發(fā),產(chǎn)生靈感,創(chuàng)作出優(yōu)秀的代碼。
5、選擇一套體系完善的課程
在完善的課程體系中學(xué)習(xí)非常重要,這有助于你掌握系統(tǒng)的Java編程知識和技能,而且好的課程會幫助你前期打好基礎(chǔ),后期有針對性地使你快速提升,這對Java新手來說十分有效。
6、沒有捷徑,一定要多動手實(shí)踐
學(xué)習(xí)Java,和學(xué)數(shù)學(xué)一樣,在學(xué)懂理論后,一定要實(shí)踐。學(xué)習(xí)Java不能搭便車。有時(shí)候,語法和例子很簡單,很容易看懂,但到自己動手寫的時(shí)候,又是另一種感覺。只有多動手編程,哪怕是簡單的小程序,重復(fù)實(shí)現(xiàn)書上簡單的例子,也是在積累和提高。動手編碼離不開編程工具的支持。
public class PaiXu1
{
public static void main(String args[])
{
int a[] = { 1, 3, 2, 5, 6, 8, 4 }; //定義一個數(shù)組a
for (int i = 0; i a.length; i++)
{
//第二層循環(huán)從第一層循環(huán)的元素后面哪個元素開始
for (int j = i + 1; j a.length; j++)
{
//如果第二個元素比第一個小的話就換位置。估計(jì)你是看不懂冒泡的算法,找數(shù)據(jù)結(jié)構(gòu)書。很簡單的。相信自己。每一趟找出沒有排序最小的的數(shù)
if (a[j] a[i])
{
int n = a[i];
a[i] = a[j];
a[j] = n;//這三行是交換數(shù)組中的位置n是中間變量
}
}
}
//打印數(shù)組各個元素
for (int i = 0; i a.length; i++)
{
System.out.println(a[i]);循環(huán)輸出數(shù)組各個元素
}
}
}
問題補(bǔ)充:小生不懂的是這些~~:其中把j的值賦給a是不是指把j與原a合并起來??
回答:把j的值賦給a,是這樣的a=j,不是指把j與原a合并起來
還有是a[j] a[i]如何進(jìn)行比較??
回答:a是數(shù)組,在每層循環(huán)中,j和i都有對應(yīng)的值,這樣就可以為數(shù)組的值做比較了。
應(yīng)該明白了吧?
如果你對我真誠的回答滿意的話,請給我多加分,如果有什么疑問的話,請給我留言。QQ也可以全天在線108424683.
static void
sleep(long millis)
在指定的毫秒數(shù)內(nèi)讓當(dāng)前正在執(zhí)行的線程休眠(暫停執(zhí)行),此操作受到系統(tǒng)計(jì)時(shí)器和調(diào)度程序精度和準(zhǔn)確性的影響。
static void sleep(long millis,
int nanos)
在指定的毫秒數(shù)加指定的納秒數(shù)內(nèi)讓當(dāng)前正在執(zhí)行的線程休眠(暫停執(zhí)行),此操作受到系統(tǒng)計(jì)時(shí)器和調(diào)度程序精度和準(zhǔn)確性的影響。
參數(shù):
millis - 以毫秒為單位的休眠時(shí)間。
nanos - 要休眠的另外 0-999999 納秒。
買書。瘋狂的JAVA講義。JAVA基礎(chǔ)等等。
不要直接看視頻。
書和視頻結(jié)合,動手。你這個里面,都加入輸入了。還有對對象實(shí)例化。
這是一段十分簡單的代碼。還加了注釋。
新手,請看書。不要好高騖遠(yuǎn)。
網(wǎng)頁標(biāo)題:java源代碼看不懂 讀java源碼好難
文章源于:http://jinyejixie.com/article10/docpodo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、域名注冊、、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)