監(jiān)控和管理服務是 Java 中不太常用的功能之一,不是因為它們不重要或可以取消它們,而是因為它們是在特殊情況下使用的。對java開發(fā)感興趣的同學可以參加java培訓,可以獲得快速有效的學習。
它專門針對那些對其應用程序的性能至關重要并且需要一些實用程序來衡量和管理它的開發(fā)人員和系統(tǒng)管理員。Java 為這方面的綜合處理提供了廣泛的支持。但是,不可能提供 Java 平臺的監(jiān)控和管理功能的完整概述,本文試圖快速而簡短地描述這項技術的關鍵方面。
概述
Java平臺提供的監(jiān)控和管理功能大致可以分為:
Java 虛擬機檢測
監(jiān)控和管理 API
監(jiān)控和管理工具
Java 管理擴展 (JMX) 技術
Java 虛擬機檢測
它被稱為 JVM 的開箱即用管理工具,它提供了一種內(nèi)置機制來監(jiān)視 JVM 和在其上運行的應用程序,無論是在本地還是從遠程機器。應適當設置應用程序以在執(zhí)行期間啟用此功能。Java 平臺利用 Java 管理技術 (JMX) 技術來實現(xiàn)此功能。要啟用此功能,我們需要創(chuàng)建一個名為 MBean(Managed Bean)的 JMX 代理,然后將其注冊到 MBean 服務器。MBean 只不過是代表要管理的資源的 Java 對象。
監(jiān)控和管理 API
監(jiān)控和管理 API 打包在 java.lang.management 下。它們提供了用于在運行時動態(tài)管理和監(jiān)控 JVM 和底層操作系統(tǒng)的編程接口。API 提供了在遠程和本地級別監(jiān)視和管理 JVM 以及可以監(jiān)視它們的應用程序的功能。在java培訓中,有很多關于API的培訓課程,在專業(yè)老師的教學指導下,可以很全面地掌握API的相關知識和技能。API可以訪問有關以下方面的動態(tài)信息:
加載的類
正在運行的線程,例如它們的狀態(tài)、爭用統(tǒng)計信息和堆棧跟蹤
正在運行的應用程序消耗的內(nèi)存狀態(tài)
垃圾回收的統(tǒng)計信息
死鎖檢測
底層操作系統(tǒng)
根據(jù) Java 9 建議,可以通過 java.management 模塊下的 java.lang.management 包中聲明的 PlatformLoggingMXBean 接口檢索日志信息。在版本 9 之前,直到 Java 8,日志信息由 java.util.logging 包中聲明的 LoggingMXBean 接口檢索。LoggingMXBean 中聲明的方法現(xiàn)在已棄用。
API 還提供了必要的接口,以便從現(xiàn)有應用程序中將 JConsole 作為插件訪問。
監(jiān)控和管理工具
Java SE 提供的主要監(jiān)控和管理工具是 JConsole。它是一種在圖形窗口中提供內(nèi)存、線程、類、JVM 信息和其他信息的工具。運行時統(tǒng)計數(shù)據(jù)是在圖形和圖表的幫助下提供的。JConsole 是 JMX API 的實現(xiàn),可用于監(jiān)控 JVM 或任何其他專門用于監(jiān)控的應用程序的運行時性能。想要獲得快速學習java開發(fā)技能,建議報名參加java培訓,可以在短時間內(nèi)學有所成,輕松找到工作。
Java 管理擴展 (JMX) 技術
Java Management Extension 是通過 Java Management Extension (JSR 3) 和 JMX Remote API (JSR 160) 開發(fā)的規(guī)范。JMX API 專門用于管理和監(jiān)視 Java 平臺資源,例如 JVM 本身、設備、它提供的服務以及在其上運行的應用程序。
根據(jù) Java Platform SE Management and Extension Guide,JMX 規(guī)范在 Java 編程語言中定義了架構、設計模式、API 以及用于應用程序和網(wǎng)絡管理和監(jiān)控的服務。
為了使用這項技術,一個或多個 Java 對象(稱為托管 Bean (MBean))檢測指定的資源。這些 MBean 注冊在稱為 MBean 服務器的核心托管對象服務器中。MBean 服務器充當管理代理,可以在大多數(shù)支持 Java 編程語言的設備上運行。
結論
問題的關鍵在于 Java 監(jiān)控和管理服務是圍繞 JMX 技術構建的。因此,在開始使用監(jiān)控和管理服務之前了解 JMX 至關重要。JConsole 是監(jiān)視和管理 Java 應用程序的福音。它提供了必要的信息來監(jiān)控正在運行的應用程序下面的內(nèi)容并有效地對其進行微調(diào),除了在運行時管理和監(jiān)控 JVM,無論是遠程還是本地。想深入了解java的同學可以考慮參加java培訓,有系統(tǒng)規(guī)范的課程和明確清晰的學習路線,讓你快速掌握java更多知識和技能。