在每次生成乙個類載入器時(共三個commons,server,shared),會先去mbeanserve***ctory.findmbeanserver(null)查一下beanserver,
findmbeanserver(null)是怎麼進行的呢?
首先是許可權檢查,這裡不作解釋,下次專門寫乙個許可權檢查的
之後對方法引數進行判斷,如果是空則返回乙個新例項化的new arraylist(mbeanserverlist)
如果不為空,則對這個list進行遍歷,找到名子相同的mbeanserver,放入list中進行返回
這裡mbeanserve***ctory利用靜態私有屬性初始化了mbeanserverlist
在mbeanserve***ctory中全是靜態方法,這裡需要注意一下
繼續,如果list的size大於0,則取出第乙個beanserver,將類載入器註冊進去
如果list的size等於0,則呼叫乙個getplatformmbeanserver()方法返回乙個本平台的beanserver
細看一下getplatformmbeanserver()
之前同樣是許可權檢查
首先這樣的屬性定義private static mbeanserver platformmbeanserver;
由於沒有進行初始化操作,預設platformmbeanserver為null,這也就是getplatformmbeanserver()先進行null值判斷的原因
程式呼叫sun.management.managementfactory.createplatformmbeanserver();生成乙個platformmbeanserver物件
細看一下sun自己實現的sun.management.managementfactory.createplatformmbeanserver();方法
《待續》
tomcat7 使用log4j進行日誌記錄
將 tomcat juli.jar 檔案放置到 catalina base bin 目錄 實際上,該目錄下已經有了 刪除 catalina base conf 下的 logging.properties 檔案 在 catalina base lib 目錄下建立 log4j.properties 檔案...
Tomcat類載入器
對於jvm來說 雙親委派模型要求除了頂層的啟動類載入器之外,其餘的類載入器都應當由自己的父類載入器載入。tomcat類載入 在tomcat中類的載入稍有不同,如下圖 當tomcat啟動時,會建立幾種類載入器 1 bootstrap 引導類載入器 載入jvm啟動所需的類,以及標準擴充套件類 位於jre...
對tomcat7模擬併發請求及相關配置引數的含義
這裡的並不是真正的併發請求,因為for迴圈是間隔10毫秒,並且執行緒初始化也需要時間的,到真正執行http請求的時刻是不確定的。1 tomcat版本 2 tomcat配置檔案server.xml設定 3 各引數的含義 acceptcount 等待佇列的長度 maxconnections 最大連線的長...