天堂男人www_日日操夜夜骑_性一交一乱一乱A片AP88_午夜免费播放观看在线视频_狼人大香伊蕉国产WWW亚洲_欧美在线观看黄色

咨詢郵箱?咨詢郵箱:[email protected] 咨詢熱線?咨詢熱線:18101296137 微博 微信
北京軟件開發公司log4j 2.6免垃圾收集_北京軟件開發公司
發表日期:2016-06-12 09:26:39 ?? 文章編輯:yitianxinda ?? 瀏覽次數:

  北京軟件開發公司log4j 2.6免垃圾收集,Java語言中流行的日志庫Log4j的較新版本Log4j 2.6,將引入一系列選項以運行在免垃圾回收模式。該發布繼續跟隨前幾個發布版,嘗試提升日志庫的性能,并且已經得到業界的積極響應。據性能改進倡議的引導者Remko Popm透露,下一步將會增加log4j可以運行在免垃圾回收模式的場景數量。

  2014年7月,log4j 2.0在日志框架領域革命性地引入了異步記錄器,相比于同步記錄器將吞吐率提升了6至68倍。這些結果可能令人影響深刻,但日志框架的性能損耗仍然占據了部分高吞吐率、低延時應用響應時間的很大一部分,這常常導致開發者在部署時排除日志框架。對于高性能應用程序進行微調以避免垃圾回收導致的暫停能夠達到非常好的效果,log4j團隊斷定這些性能提升能夠帶來更多的用戶。通過性能和Java專家Kirk Pepperdine的評論來判斷,該假設是成立的:

  Java中的日志框架形勢不容樂觀。到今天為止,我很少碰到客戶反饋他們的系統沒有因為日志框架導致的負面影響。我與到的一個極端例子是,一個客戶面臨4.5秒的時限,但是日志記錄占用了其中的4.2秒(很大一部分壓力來自于異步追加器)。我將對次版本發布非常感興趣。

  防止垃圾回收是通過避免創建臨時對象來實現的,這意味著需要盡可能的復用已經存在的對象。然而在較初發布的時候,整個庫沒有能夠做到免垃圾回收,因此開發者如果希望實現該功能,需要注意追加器(appenders)、日志記錄器(loggers)、格式化布局(formatting layouts)和API使用時的限制。

  應用程序類型

  部分被復用的對象保存在ThreadLocal區域中。這樣的設計對獨立的應用程序來說沒有問題,但是對于web應用可能會引起內存泄漏。應用服務器可能會將ThreadLocal保存在線程池中,這意味著即使應用被卸載,用于日志記錄的對象仍然會保持引用。因此,通過ThreadLOcal來復用對象的功能在web應用程序中默認是關閉的,既log4j無法完全運行在免垃圾回收模式。

  日志記錄器

  log4j防止觸發垃圾回收的另一個方式是在將文本轉換為字符數組的時候復用緩沖區。所有類型的應用程序都可因此受益,且該功能默認是開啟的。然而使用同步日志記錄器的多線程應用程序可能會有性能影響,因為不同的線程需要競爭共享的緩沖區。如果遇到這種情況,應該優先使用異步日志記錄器,或者禁用共享緩沖區。

  追加器

  只有部分追加器已經修改以避免創建臨時對象:Console(控制臺)、File(文件)、RandomAccessFile(隨機訪問文件)、上述追加器的回卷追加器、MemoryMappedFile(內存映射文件)。任何其他追加器都會產生垃圾,并且需要被回收。然而需要注意的是,這些追加器本身可以免垃圾回收,仍然會有其他I/O相關的因素會影響它們的性能。

  格式化布局

  格式化布局可能是開發者在試圖配置達到免垃圾回收時較棘手的部分,因為他們不僅需要關注所需使用的布局,還需要關注布局中的選項。GelfLayout(Graylog Extended Log Format)布局只有在壓縮選項禁用時才支持免垃圾回收,而PatternLayout只支持限定的轉換模式,任何其他轉換模式都會創建臨時對象。

  API使用

  API本身也已經為避免創建臨時對象而修改。除了之前支持簡單可變長度參數(這樣會創建一個臨時數據)的方法之外,log4j新增了所有方法的重載版本,較多支持10個參數。調用方法超過10個參數仍然會使用可變長度參數,這將會創建臨時數組。

  這個限制對于通過SLF4J使用log4j的場景影響較大,因為這個門面庫只提供了較多兩個參數的非變長參數。用戶如果希望使用超過兩個參數,并運行在免垃圾回收模式,就需要拋棄SLF4J。

  對代碼的影響

  雖然已經做了向下兼容,以避免開發者更新代碼,有一類臨時對象的創建和log4j框架本身無關:對基本數據類型的自動裝箱。為了確保JVM不將基本數據類型裝換成對應的對象,開發者在給log4j傳遞基本數據類型時,可以使用靜態方法Unboxer.box()。該方法可以允許log4j直接處理基本數據類型而無需創建不必要的對象。

  盡管有一系列的限制條件,這些改變已經有潛力在嚴格性能需求的場景下顯著提升日志記錄的體驗。那些因為當前限制無法使用免垃圾回收特性的開發者,可以繼續關注變更列表,在未來的發布版本中可能會提供進一步的改進。

相關文章推薦
下一代工業進步被稱為工業4.0,旨在將傳統行業(如自動化)互聯互通并實現計算機化。工業4.0的目標是使工廠變得更加智能,提高適應性和資源效率,以及改善工廠之間供...
您正在尋找能夠將您令人驚嘆的應用程序想法變為現實的人。我應該聘請軟件公司還是兼職開發者?這可能是每個新晉產品所有者問自己的最常見問題。在開始開發過程之前,您需要...
從頭開始構建網站并托管和維護或改造舊網站需要聘請一支擁有技能和專業知識的團隊。如果您不想進一步擴大團隊,不想經歷招聘大手筆,或者想降低離岸成本,北京軟件開發外包...
物聯網 ( IoT ) 概念首次出現時,曾有大膽預測稱,到 2020 年,物聯網連接設備數量將達到 500 億甚至數萬億。這些極高的估值引發了炒作,但最終被證明...
下一代工業進步被稱為工業4.0,旨在將傳統行業(如自動化)互聯互通并實現計算機化。工業4.0的目標是使工廠變得更加智能,提高適應性和資源效率,以及改善工廠之間供...
企業需要強大且可靠的在線形象才能取得成功。Magento 已成為領先的電子商務平臺,為各種規模的企業提供強大的功能和定制選項。對于希望通過基于 Magento ...
軟件開發公司Android可以正常使用Java API...
您正在尋找能夠將您令人驚嘆的應用程序想法變為現實的人。我應該聘請軟件公司還是兼職開發者?這可能是每個新晉產品所有者問自己的最常見問題。在開始開發過程之前,您需要...
很多人認為,創建一個新的軟件開發解決方案,你需要的是找到一些程序員,并告訴他們該怎么做。這個觀點是在小型和中小型企業通常不涉及軟件項目中尤為常見。...
北京軟件開發公司移動軟件測試儀,它是重要的是要把各種硬件和操作系統(操作系統)的條件,看看如何影響軟件。有測試人員不考慮硬件或操作系統條件的移動測試儀的曲目的必要...
條件提供合 資源起源:其它 4)具有近三年完成在3個(含)以上同等界限的告捷案例,對“中國工商銀行股份無限公司軟件征戰重心北京研 3)具有ISO9000質量認證體系書;具有國度質量...
北京軟件開發32T塊存儲分區操作手冊,以下分別針對 Linux 和 Windows 的 ECS 實例來介紹大盤的管理和使用。 大數據盤的分區和文件系統格式化和小盤都存在差異。大盤必須采用 GPT 分區格...
?
主站蜘蛛池模板: 亚洲午夜电影 | 亚洲成av人片在线观看 | 青青青国产观看免费视频 | 亚洲免费在线 | 国产亚洲美女精品久久久久 | 久久se精品一区精品二区 | 国产精品无码永久免费888 | 九九亚洲精品 | 免费看日韩av | 欧美在线观看a | av电影直播 | 国产亚洲福利精品一区 | 狠狠色丁香婷婷久久综合考虑 | 99精品国产免费久久国语 | 成人免费影 | 国产精品成人av | 日本天天操 | 一级毛片视频 | 久久久久国产精品一区 | 国产高清一区二区 | 一级毛片一 | 欧美极品一区二区 | 极品狂兵电视剧免费观看 | 91福利影院 | 亚洲精品国精品久久99热 | 国产精品毛片久久久久久久 | 91青青草视频 | 777奇米影视色888成人 | 日韩 欧美 综合 | 久草中文在线观看 | 国产精品v欧美精品∨日韩 一级免费黄色免费片 | 第三级视频在线观看 | 国产不卡视频在线 | 欧美簧片 | 欧洲伊人网 | 国产亚洲精品影视在线 | 亚洲国产欧洲综合997久久 | 免费av大全 | 日韩精品专区在线影院重磅 | www.日日操| 日本三级香港三级人妇99 |