我有一個字節數組,代表一個類文件的字節。確定類的超類而類是以字節數組的形式?
我想獲得由字節數組表示的類的超類。目前,我使用ClassLoader類的「defineClass」方法的反射來創建由字節數組表示的類的類定義。然後通過在新創建的Class對象上調用getSuperclass()來獲得超類。
基於由字節數組表示的類的超類,我需要執行字節碼轉換。然後最終目標是在轉換後重新定義由字節數組表示的類。
問題是我無法將轉換後的類重新定義爲其原始名稱,因爲兩個具有相同名稱的類無法在同一個JVM實例中定義。
我真的需要能夠根據字節數組所表示的類的超類進行轉換,並且確實需要使用其原始名稱重新定義轉換後的類。
有沒有什麼辦法來獲得類的超類,而類是以字節數組的形式?基於.class文件的格式,我會假設我可以以某種方式「確定」超類,而不將類定義爲類對象並將其加載到JVM中,但我不確定從哪裏開始這樣做。
有什麼建議嗎?
不知道這是否真的有效,但:使用不同的命名空間? – 2012-01-12 00:40:52
只需解析字節碼。 – 2012-01-12 01:01:58