<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-8  評(píng)論-31  文章-0  trackbacks-0
    那是2007年三月二日,我發(fā)了<定位Java類中的每個(gè)方法在類文件中的位置>
    引起了幾個(gè)大蝦的注意并且給我指點(diǎn),當(dāng)時(shí)看了以后也沒(méi)有怎么弄,也不知道怎么弄.

    這是cape給我的建議:

    最直接的辦法應(yīng)該是分析class的bytecode,找到每個(gè)Method_info->Code Attribute->LineNumberTable Attribute

    今天空閑得慌而是我拿這個(gè)method linenumber幾個(gè)keyword在網(wǎng)上狂搜了一把,
    http://www.ibm.com/developerworks/cn/java/j-dyn0302/index.html

    得到美文一篇,用Javassist來(lái)做. Javassist是一個(gè)專門操控java class的bytecode的類,可以動(dòng)態(tài)的改變其狀態(tài),我沒(méi)有深究它到底有多大的能耐,有興趣可以去它的官方網(wǎng)站看看,

    http://www.csg.is.titech.ac.jp/~chiba/javassist/

    但是它確實(shí)可以象cape指點(diǎn)的那樣,讓我實(shí)現(xiàn)對(duì)java類中的每個(gè)方法的定位(得到類中的某個(gè)方法的lineRange)

    而是我就隨便翻了幾個(gè)例子以后根據(jù)在線文檔寫(xiě)了不到100行代碼輕松搞定。:) 我高興啊。

    干這個(gè)事情的兩個(gè)java的source code可以從這里得到:

    http://www.tkk7.com/Files/xmp123/MethodParser.zip

    代碼很簡(jiǎn)單,我就不解釋代碼了。

    這是示例結(jié)果:
    ------------------------------------------------------------------------------------------------------------------------------
    Analyzing net.blogjava.xmp123.MyMethodInfo ...
    net.blogjava.xmp123.MyMethodInfo.getLineList() locate between 56 and 56

    net.blogjava.xmp123.MyMethodInfo.updateLineList() locate between 63 and 80

    net.blogjava.xmp123.MyMethodInfo.addLineToLineList(int) locate between 87 and 89

    net.blogjava.xmp123.MyMethodInfo.setLineList(java.util.List) locate between 95 and 97
    ...
    ------------------------------------------------------------------------------------------------------------------------------

    希望這東西有用......
    posted on 2007-08-15 17:56 自己的小屋 閱讀(1138) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲6080yy久久无码产自国产 | 国产偷国产偷亚洲高清日韩| 亚洲人成在线中文字幕| 国产国产人免费视频成69堂| 国产成人精品免费直播| 亚洲AV无码乱码国产麻豆穿越| 一个人看的www视频免费在线观看| 亚洲精品第一国产综合精品99| 一级女性全黄久久生活片免费| 久久久久亚洲av毛片大| a级毛片无码免费真人久久| 亚洲成AV人片在线观看无码 | 宅男666在线永久免费观看| 亚洲av无码专区亚洲av不卡| 国产午夜免费福利红片| 久久精品国产精品亚洲蜜月| 国产精品免费福利久久| 亚洲最大中文字幕| 日本中文字幕免费高清视频| 亚洲午夜久久久精品影院| 成人免费视频77777| 亚洲AV无码一区二区三区鸳鸯影院| 免费人成网站在线高清| a毛片在线还看免费网站| 伊人久久综在合线亚洲2019| 免费阿v网站在线观看g| 亚洲av成人无码网站…| 亚洲欧洲∨国产一区二区三区| 99久久99热精品免费观看国产 | 亚洲视频一区网站| 成人免费午夜视频| 免费人成在线观看视频高潮| 久久久久无码专区亚洲av| 51视频精品全部免费最新| 精品久久久久久亚洲综合网| 亚洲AV无码专区国产乱码电影| 大地资源二在线观看免费高清| 一级成人毛片免费观看| 亚洲一级高清在线中文字幕| 亚洲成a人片在线观看老师| 久久精品熟女亚洲av麻豆|