編寫自己的ClassLoader知識點

2021-08-25 15:34:23 字數 659 閱讀 3678

public class<?> loadclass(string name) throws classnotfoundexception 

protected synchronized class<?> loadclass(string name, boolean resolve)

throws classnotfoundexception

else

} catch (classnotfoundexception e)

}if (resolve)

return c;

}

所以寫自己的classloader可以override findclass方法,然後呼叫protected final class<?> defineclass(string name, byte b, int off, int len)來載入class了。

當然你也可以只override loadclass方法,但什麼都不做。然後呼叫defineclass來嘗試載入同乙個class,我不知道會怎樣,還沒有嘗試過,有人嘗試記得告訴我一聲。

所以寫自己的classloader,就可以這樣:

class mycl extends classloader

}

編寫自己的TRACE

在編寫mfc程式時我們經常用trace輸出除錯資訊幫助除錯,但使用trace的前提條件必須是定義了 debug並且使用debug庫才行。有時候在寫某些外掛程式的時候,由於廠商只提供release版本的介面,於是只能把自己的工程中去掉 debug並還用非debug庫,雖然還屬於debug版,但 tra...

自己編寫的linux ls命令

include include include include include include include include include include int aflag 0 int lflag 0 typedef char datatype typedef struct node link...

自己編寫的more命令

重定向方面存在缺憾 重定向後沒有除錯完成 stdin時非重定向可用read和write遮蔽部分部分 include include include include include lstat include lstat include define pagelen 24 define linelen...