簡體   English   中英

更改Java默認類(無覆蓋)

[英]Change Java default classes (no override)

有沒有正確的方法來更改Java默認方法或類? 我正在使用通過TCP套接字進行通信的庫,我想捕獲系統套接字調用並使用自定義調用(不更改庫代碼)進行更改。

沒有非常darc的JVM魔術,這是不可能的。

不,這是不可能的。 JVM初始化時會加載執行所需的類,因此在使用OOPS范例之前無法更改默認類或方法。

不簡單,但可能!
您需要重載JVM默認的classLoader以便在初始化新類時(例如,對於非靜態類的靜態或new MyObject System.out )。
每次加載新類時,JVM都會首先檢查是否要以不同的方式初始化類。

理解如何做到這一點並不那么簡單所以我附上了關於這個主題的好指南:
1. 孫的官方指南。
2. JavaWorld - Java類加載器的基礎知識
3. JournalDev代碼示例
從反思的角度來看, Jenkov是關於這個主題的偉大指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM