1. 如果可以除錯或加入print語句,那麼可以通過class.getprotectiondomain().getcodesource().getlocation() 返回的url得知。
2. 如果不能除錯,可以重啟jvm,那麼可以新增jvm啟動引數 -verbose:class 或 -xx:+traceclassloading,則在啟動時可以打出每個裝載的類的路徑
3. 如果不能重啟,對於sun hotspot 虛擬機器,可以用 com.sun.tools.attach.virtualmachine
.attach 方法返回乙個
virtualmachine,然後呼叫其loadagent方法,使其呼叫乙個你自己寫的agent jar的agentmain方法,在agentmain方法得到呼叫時,會獲得傳進來的引數
instrumentation,呼叫
instrumentation.getallloadedclasses() 會返回所有已裝載的class, 進而用第一種方法獲得其url
Spring如何判斷某個類用了某個註解
spring提供了乙個annotationutils類用於判斷某個類是否用了某個註解,以 kafkalistener為例,kafkalistener ann annotationutils.findannotation clazz,kafkalistener.class clazz為使用了該註解的類...
linux下如何知道某個埠現在執行什麼監聽程式
當我們用netstat an的時候,我們有時候可以看到類似的輸出 udp 0 0 0.0.0.0 32768 0.0.0.0 但是查詢 etc services又沒有這個埠的相關說明,怎麼辦呢?這個是不是黑客程式?有沒有辦法檢視究竟什麼程式監聽在這個埠?使用lsof i 32768就可以看到 com...
Linux下如何知道什麼程式占用了某個埠
當我們用netstat an的時候,我們有時候可以看到類似的輸出 udp 0 0 0.0.0.0 32768 0.0.0.0 但是查詢 etc services又沒有這個埠的相關說明,有沒有辦法檢視究竟什麼程式監聽在這個埠?使用lsof i 32768就可以看到 command pid user f...