如何快速看懂java代碼 怎么去理解那些編寫的代碼?
怎么去理解那些編寫的代碼?怎莫解釋?個人都覺得好是的辦法應(yīng)該是跟著程序的運(yùn)行過程看代碼。第一步是了解一個程序的生命周期。一個程序,你先可以找到它的啟動入口處,一般最就開始大都讀取文件配置文件、打開程序
怎么去理解那些編寫的代碼?
怎莫解釋?個人都覺得好是的辦法應(yīng)該是跟著程序的運(yùn)行過程看代碼。
第一步是了解一個程序的生命周期。一個程序,你先可以找到它的啟動入口處,一般最就開始大都讀取文件配置文件、打開程序配置之類;接下來的看它動態(tài)創(chuàng)建了什么函數(shù),函數(shù)里面做了什么事情你的操作,數(shù)據(jù)咋變化,肯定它又會而后調(diào)用另一個分段函數(shù),你再去去看看兩個函數(shù)到底在干什么,一步步的走遞歸函數(shù)開去,清楚看過了一個程序的運(yùn)行過程。注意這個過程,別對每一個函數(shù)的實(shí)現(xiàn)細(xì)節(jié)過多的糾結(jié)。諸如它動態(tài)鏈接庫了一個運(yùn)行程序配置文件的函數(shù),你只需知道這部分是運(yùn)行程序配置,里面的實(shí)現(xiàn)可能會很緊張,但這部分對你打聽一下這個程序的實(shí)現(xiàn)沒有太大影響,你可以完全略過。
第二步是對程序核心功能部分把基于細(xì)節(jié)搞懂。很多程序雖然很龐大,但里面很有可能很多大都一些框架、輔助功能,這些這個可以略看,依據(jù)自己必須來自學(xué);這對一些比較好核心的部分,諸如去學(xué)習(xí)JAVAHashMap的源碼,對map的先添加、直接輸入、內(nèi)存量等過程的要清楚它是怎末基于的,這部分是最核心的。
第二步最好是會模仿這個程序自己寫一個類似的程序或則自己把這個程序重新寫過一遍。難度太大的話是可以做一個簡易版的,只實(shí)現(xiàn)核心功能。別人的代碼看再多也不一定會會寫,自己寫一遍在過程中了解別人程序?yàn)樯兑@么說怎么設(shè)計,更好的了解最優(yōu)秀程序最優(yōu)秀在哪里。
以上那是個人在閱讀別人程序的一點(diǎn)體驗(yàn),泛讀最優(yōu)秀的源碼有助增強(qiáng)自己的編碼水平,如果能能幫助到大家~
如何查看Java代碼的匯編形式?
是用IDE是Eclipse,程序出問題了想調(diào)試,但可以設(shè)置了斷點(diǎn)打開系統(tǒng)了變量,還是不很清楚哪錯了。
1、準(zhǔn)備編譯程序Java源文件,命令:javac
2、第二步將編譯程序生成氣體的class文件轉(zhuǎn)為匯編指令(要可以下載hsdis-amd64.dylib,到j(luò)re/lib)
命令:java-XX:UnlockDiagnosticVMOptions-XX:PrintAssembly-XcompDemodstrok
3、用編輯器再打開即可一欄到匯編指令