2011-01-26 53 views
2

我希望從JDK 1.5開始執行Java字節碼檢測。有沒有辦法做到這一點,可以在大多數JVM上運行,並在未來的JDK版本中受到支持?什麼是執行Java字節碼檢測的最有前途的方法?

+0

僅僅因爲那裏幾乎不可能保證未來的兼容性沒有辦法知道他們會改變什麼。只是想指出。但是我們可以假設大多數字節碼編碼不會有任何重大改變。 – 2011-01-26 16:34:34

+0

但是,至少有什麼方法可以做到這一點,與當前的JDK一起工作呢? – Zubair 2011-01-26 16:37:43

回答

1

我建議你使用一個庫來抽象讀取/寫入原始字節碼。像ASM一樣。這樣,任何未來的更改都可以通過更新庫來解決。其中很多已經經歷了許多版本變化,並且具有很強的版本驗證結構。儘管如此,JVM版本之間只有很少的字節碼更改。如果有機會改變字節碼或者解決問題,那麼後者似乎總是被使用。例如Java已經支持內部類訪問外部類的私有成員,其中很多年,但是JVM不直接支持這個(相反,編譯器使用的是解決方法)

相關問題