㈠ java如何實現監控伺服器網路流量
前兩本地代碼在用戶層都幹不了,後一個沒什麼特殊情況直接執行shell命令就是了
㈡ Java類應用監控應該監控哪些
當有問題出現時,許多開發人員可能會比較盲目的用這些工具來試探性定位問題,而大多數情況下,這種試探會無功而返。因為這些分析工具主要是側重Java單方面的分析,比如該系統調用第三方API,如果第三方API有問題,是無法監控到的。還有像文件、DB資源的訪問也是是無法監控到的。
除了JAVA自帶的監控工具外,我們嘗試了第三方的監控工具透視寶,功能相對全面,且易操作。
在功能方面,透視寶都包括:查看執行最慢的10個元素,包括元素執行次數、持續時長和佔用時長百分比;查看HTTP請求參數,包括請求的響應狀態、鏈接頁面、具體的請求參數及返回結果;查看代碼執行堆棧的詳細樹狀信息,包括每個方法的計算時間、總耗時和被調用的次數,您能直接看到特殊標識的最慢方法;查看涉及SQL語句的總耗時排序,包括SQL執行總耗時、執行次數和具體的查詢語句;第三方API調用。
㈢ 怎麼用JAVA實現監控linux下CPU的使用率 windows下怎麼查看呢用什麼方法 請高手指教,謝謝!
用java的話,有兩個方法:
1.利用java直接調用shell命令查看cpu的參數(系統不同命令也不同)
類似代碼:
可以查考http://aimer311.javaeye.com/blog/347908
2.利用軟體linux下可以安裝net-snmp實現遠程和本地監控
具體方法的話比較負責你網上查查
因為不知道你的linux到底是什麼系統所有我沒法給你寫命令
㈣ JAVA怎麼監控一個對象變數是否修改
可以通過覆寫Object類中的equals(Object obj)方法和hashCode()方法,這兩個方法是專門用來比較兩個對象是否相等的,假如你原來的類裡面有兩個屬性 name和age,那麼這段代碼就如下所示:
class Student{ String name; int age; public Student(String name,int age){ this.name = name; this.age = age; } public boolean equals(Object obj){ if(this == obj){ return true; } if(!(obj instanceof Student)){ return false; } Student student = (Student)obj; if(this.name.equals(student.name) &&this.age==student.age){ return true; } else{ return false; } } public int hashCode(){ return this.name.hashCode()*this.age; }}
㈤ 如何監控Java垃圾回收機制
1. 何時一個新生代中的對象被移動到老年代時,所花費的時間。
2. Stop-the-world 何時發生的,持續了多長時間。
GC監控是為了鑒別JVM是否在高效地執行GC,以及是否有必要進行額外的性能調優。基於以上信息,我們可以修改應用程序或者調整GC演算法(GC優化)。
如何監控GC
有很多種方法可以監控GC,但其差別僅僅是GC操作通過何種方式展現而已。GC操作是由JVM來完成,而GC監控工具只是將JVM提供的GC信息展現給你,因此,不論你使用何種方式監控GC都將得到相同的結果。所以你也就不必去學習所有的監控GC的方法。但是因為學習每種監控方法不會佔用太多時間,了解多一點可以幫助你根據不同的場景選擇最為合適的方式。
下面所列的工具以及JVM參數並不適用於所有的HVM供應商。這是因為並沒有關於GC信息的強制標准。本文我們將使用HotSpot JVM (Oracle JVM)。因為NHN 一直在使用Oracle (Sun) JVM,所以用它作為示例來解釋我們提到的工具和JVM參數更容易些。
首先,GC監控方法根據訪問的介面不同,可以分成CUI 和GUI 兩大類。CUI GC監控方法使用一個獨立的叫做」jstat」的CUI應用,或者在啟動JVM的時候選擇JVM參數」verbosegc」。
GUI GC監控由一個單獨的圖形化應用來完成,其中三個最常用的應用是」jconsole」, 「jvisualvm」 和 「Visual GC」。