我加載某些類從一個位置(用我自己的類加載器)和我的應用程序用戶可以將其jar文件添加到這個位置,我會加載所有存在於那些罐子files.It類是像一些運行插件特定type.Then類我把這些文字類中的對象的HashMap(這是一類特殊的領域),並創建實例從那裏每當required.If一些文字類從該HashMap中刪除,那麼沒有人應能夠創建該類的實例 - 類似於類應該爲正在添加類的用戶卸載。 2)我也希望我的用戶不應該使用我的hashMAp操作所有我已經加載的類文字操作的任何代碼。Java反射
Q
Java反射
1
A
回答
0
我還沒有與反射適當的經驗,但我的建議是:含實例所有實例的記錄
有一個類(LoadedClassesManager,說)。它也應該實現可觀察模式(即響應事件監聽器)。
要具有加載的類的實例都通過在LoadedClassManager一個方法調用(類似getNewInstance(Class clazz, params)
)被調用。該方法還會將調用對象註冊爲偵聽器(用於類被卸載時)。
所以當某個類被卸載時,事件偵聽器,即使處理程序將被LoadedClassesManager被要求妥善處理類的卸載。
相關問題
- 1. 反射IllegalArgumentException java
- 2. 的Java反射
- 3. 在Java反射
- 4. java Android反射
- 5. Java反射
- 6. 與Java反射
- 7. Java反射:「java.lang.NoSuchMethodException」
- 8. Java反射類
- 9. java反射投射問題
- 10. Java反射問題
- 11. Java反射問題
- 12. Java中的反射
- 13. java註釋反射
- 14. Java反射/通用
- 15. Java反射跟蹤
- 16. Java反射資源
- 17. 使用Java反射
- 18. Java反射輸出
- 19. Java反射,在超
- 20. ProGuard java和反射
- 21. 使用Java反射
- 22. Java反射/泛型
- 23. Java反射示例
- 24. java反射問題
- 25. 反射java?擴展
- 26. Java反射問題
- 27. 單反安卓的Java反射
- 28. 在硒中的java反射
- 29. scala反射錯誤java
- 30. 反射,繼承和java
Thnx的答覆。 但是,我在這裏有兩個問題。 1)是否可以卸載使用代碼的類(從內存中卸載或者我只能設置一些fiels來標記它unlodeed) 2)由於我的代碼是開放的,以我的所有用戶,以便他們也可以使用我的LoadedClassManager中的類他們正在添加到我的應用程序中。我也想阻止這一點。 – Chandan
在這裏看到關於你的第一個擔憂的答案:http://stackoverflow.com/questions/148681/unloading-classes-in-java – WaelJ
關於你的第二點,我不太明白你的意思。你的代碼是開放的,因爲你的用戶可以修改他的源代碼? – WaelJ