2. JAVA閱讀源碼,大量英文注釋閱讀不方便,求集成idea裡面的翻譯java注釋由英文翻譯為中文的工具。
學會在idea(eclipse)中閱讀、調試源碼,是java程序員必不可少的一項技能。
在idea中配完環境後,默認其實也是能夠對jdk的源碼進行debug調試的。但是無法在源碼中添加自己的注釋,無法添加自己的理解。如果乾瞪眼看的話,可能過段時間,就忘記了。下面就介紹下,如何在jdk源碼中為所欲為,像在我們自己的代碼中一樣寫注釋、調代碼:
打開idea,選擇Project->File->Project Structure->SDKs->Sourcepath,初始狀態如下圖 :
這時,再重新打開jdk的源碼類,我們就可以在源java文件中,添加自己的注釋了。
一定注意:添加註釋時,一定不要新加一行寫注釋。最好在一行代碼的後面,使用//進行注釋。否則行號和真正的jre中編譯後的代碼行號對應不上,如果對源碼debug時,會出現代碼運行和行號不匹配的情況
3. 如何快速讀懂項目源碼javaWeb
一:學會如何讀一個JavaWeb項目源代碼 步驟:表結構->web.xml->mvc->db->spring
ioc->log-> 代碼
1、先了解項目資料庫的表結構,這個方面是最容易忘記 的,有時候我們只顧著看每一個方法是怎麼進行的,卻沒
有去了解資料庫之間的主外鍵關聯。其實如果先了解數據 庫表結構,再去看一個方法的實現會更加容易。
2、然後需要過一遍web.xml,知道項目中用到了什麼攔
截器,監聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負責過濾請求,進行AOP 等;如果是監 可能是定時任務,初始化任務;配置文件有如使用了 spring
後的讀取mvc 相關,db 相關,service 相關,aop 相關的文件。
3、查看攔截器,監聽器代碼,知道攔截了什麼請求,這
個類完成了怎樣的工作。有的人就是因為缺少了這一步, 自己寫了一個action,配置文件也沒有寫錯,但是卻怎麼
調試也無法進入這個action,直到別人告訴他,請求被攔
4、接下來,看配置文件,首先一定是mvc相關的,如 springmvc
中,要請求哪些請求是靜態資源,使用了哪些 view 策略,controller 註解放在哪個包下等。 然後是db 相關配置文件,看使用了什麼資料庫,使用了
什麼orm框架,是否開啟了二級緩存,使用哪種產品作 為二級緩存,事務管理的處理,需要掃描的實體類放在什 么位置。最後是spring 核心的ioc
功能相關的配置文件, 知道介面與具體類的注入大致是怎樣的。當然還有一些如 apectj 置文件,也是在這個步驟中完成
5、log
相關文件,日誌的各個級別是如何處理的,在哪些 地方使用了log 記錄日誌
6、從上面幾點後知道了整個開源項目的整體框架,閱讀 每個方法就不再那麼難了。
7、當然如果有項目配套的開發文檔也是要閱讀的。
4. JAVA中看別人項目源碼,從哪裡開始看,順序怎麼樣 比如 實體類 方法 介面 實現類 還有其他的
首先,如果有別人項目的開發文檔,是必須先閱讀的東西;
其次,最好藉助於開發工具,比如導入eclipse,比如代碼中按下ctrl+T就會顯示當前類型的關聯關系,還可以進行class搜索等。
第三,通過運行代碼,跟蹤進去,用debug模式查看一些關心的變數和方法是如何被調用和執行的。
MVC項目,可以從下往上看,就是從資料庫操作,然後封裝, service,到Action,再到頁面。
5. JAVA鍒氬紑濮嬪︽槸瑕佸厛鐪嬫簮浠g爜鍚鍙鏄涓鐐逛篃鐪嬩笉鎳傛槸浠涔
鏈浜轟笉鏄楂樻墜錛岀洿鍒扮幇鍦ㄨ繕鍦ㄥ墮噷瀛︺傛寜鐞嗚存槸娌℃湁璧勬牸鍦ㄦゅ敔鑸岀殑
浣嗘槸鍐欎簡涓鐐逛唬鐮侊紝浜烘湁鐐圭瘡銆備簬鏄涓婃潵鐜╃帺
鎴戣夊緱搴旇ヤ粠鏈鍩虹鐨勫﹁搗錛氭暟鎹綾誨瀷銆佸彉閲忋佽繍綆楃︺佽〃杈懼紡銆佽鍙ャ佹寚浠ゃ侀『搴忥紝閫夋嫨錛屽驚鐜錛屾暟緇勶紝鍑芥暟 緇撴瀯(瀵逛互鍚庡︿範綾誨ぇ鏈夊府鍔)
鏈濂戒互c涓轟緥
榪欐柟闈㈢殑濂戒功鏈<<C紼嬪簭璁捐>>璋嫻╁己鏁欐巿鐨,<<21澶╁﹂欳璇璦>>,鐞兼柉甯冩湕鐨勶紝鍚庤呭﹁搗鏉ヨ交鏉句竴浜涘墠鑰呭圭畝鍗曠畻娉曟秹鍙婄殑澶氫竴浜
鐒跺悗綆鍗曞湴瀛︿竴涓婥++,涓嶄竴瀹氶潪寰楀﹀お澶氾紙褰撶劧浜嗙簿鍔涘厖娌涘逛箣鍏磋叮嫻撳帤鐨勪緥澶栵級錛屼互灝佽咃紝緇ф壙銆佸氭佷負涓
褰撶劧浜嗕篃鍙涓嶈繘琛岀浜屾ョ洿鎺ュ紑濮嬪Java錛屼笉榪囩涓姝ヤ竴瀹氳佽蛋濂
鑷充簬Java鏂歸潰錛屾妸鍓嶉潰浜屾ョ敋鑷崇涓姝ュ仛濂戒簡瀛﹁搗鏉ュ緢瀹規槗錛屾垜涔熸病鐪嬩粈涔圱hink in Java
紲濅綘鎴愬姛錛佸厖鍒嗚嚦Java涓鑾峰緱涔愯叮......
6. 你好,我剛開始學JAVA,昨天看了點源碼有點疑問
這個是叫做構造函數的重載。
這樣子寫的原因是:
有時候你會聲明 Person people=new Person("lihong");
有時候你會聲明 Person people=new Person("lihong","west");
如果不都實現的話,上面兩種聲明就不能這樣用了!