في الآونة الأخيرة ، كنت أعمل في مشروع للحصول على معلومات النظام مثل مشاركة وحدة المعالجة المركزية. الكثير من التقنيات الجديدة.
في Java ، يمكنك الحصول على معلومات مثل الذاكرة الفعلية الكلية ، والذاكرة الفعلية المتبقية ، والذاكرة الفعلية المستخدمة ، وما إلى ذلك. يمكن للأمثلة التالية الحصول على هذه المعلومات والحصول على معدل استخدام الذاكرة تحت Windows.
أولاً ، اكتب فئة MonitorInfobean لتحميل بعض معلومات المراقبة ، بما في ذلك الذاكرة الفعلية ، والذاكرة الفعلية ، والذاكرة الفعلية ، واستخدام الذاكرة وغيرها من الحقول.
حزمة com.amgkaka.performance ؛ MonitorInfobean { /** الذاكرة قابلة للاستخدام. / MaxMemory الخاص الذاكرة. / استخدام وحدة المعالجة المركزية setfreephyclymorysize (long freephysicalsize) {هذا. AME void setosname (string osname) {this .osname = osname ؛ public setTototalmorysize (TotalMemorysize) {هذا. } public void setusedmemory (usedmemory)
ثم اكتب واجهة للحصول على معلومات المراقبة الحالية.
حزمة com.amgkaka.performance ؛ الواجهة العامة imonitorservice { /** * / /** * احصل على كائن المراقبة الحالي. : 08 */ Public MonitorInfobean getMonitorInfoBean () رمي الاستثناء ؛
فئة التنفيذ SonitorServiceImpl من هذه الفئة هي كما يلي:
Package Com.Amgka. فئة تنفيذ منطق الأعمال. معدل شغل وحدة المعالجة المركزية غير دقيقة. * RETURN إرجاع كائن المراقبة المبني * @Throws استثناء * Author AMG * تاريخ الإنشاء: 2008-4-25-10:45:08 AM */ Public MonitorInfoBean getMonitorInfobean () يلقي Exc Epishing {int KB = 1024 ؛ يمكن استخدام الذاكرة TotalMemory = وقت التشغيل. getRuntime. GetRuntime () .MaxMemory () / kb ؛ . احصل على العدد الإجمالي من Threadgroup ParentThread ؛ ؛ freememory) ) ؛ ) ؛ ::::::::::::::::::::::::: :::::::::::::::::::::: :::::::::::::::: *// ** * احصل على استخدام وحدة المعالجة المركزية. . = readcpu (وقت التشغيل. getRuntime (). ! = null) {long idletime = c1 [0] - c0 [0] () ؛ Author AMG * تاريخ الإنشاء: 2008-4-25-06:14 PM */ Private Long [] ReadcPU (Proct Proc) {Long [] Retn = New Long [2] ؛ .Close () <lautlength) {return null ؛ (usermodetime ") ؛ input.ReadLine ())! = null) {if (line.length () <wocidx) {conter bytes.substring (السطر ، cmdidx - 1) .trim () ؛ > = 0) {متابعة ؛ .valueof (bytes.SubString (Line ، Kmtidx ، Rocidx - 1) .trim ()) .longvalue () ؛ Longvalue () ؛ ، wocidx - 1). trim () {try {proc.getInputStream (). رمي الاستثناء * Author AMG * تاريخ الإنشاء: 2008-4-30-04:47 PM */ Public Static Void Main (String [] .getMonitorInfoBean(); System.out.println("cpu occupancy=" + monitorInfo.getCpuRatio()); System.out.println("can be used Save=" + monitorInfo.getTotalMemory()) ; System.out.println ("الذاكرة المتبقية =" + monitorInfo.getFreeMemory ()) ؛ ()) ؛ ) ؛ ؛
تتطلب فئة التنفيذ هذه فئة الأدوات التي تكتب بايت بنفسك.
حزمة com.amgkaka.performance ؛ /*: String * param start_idx بدء التنسيق (بما في ذلك هذا الإحداثي) * param end_idx cutoff إحداثيات (بما في ذلك هذا الإحداثي) * return */ public static string substring (السلسلة src ، int start_idx ، int en d_idx) {byte [] b = src .getBytes () ؛
قم بتشغيل فئة MonitorBeanimpl وسيشاهد القراء الذاكرة الحالية واستخدام وحدة المعالجة المركزية وغيرها من المعلومات.
ملاحظة: طريقة للحصول على جميع أسماء المضيف في الشبكة المحلية
استيراد java.net.inetaddress ؛ import java.net.unknownhostexception ؛ public class a {static public void main (string [] args) {try {// get ip i editure i من خلال اسم المضيف netaddress = inetaddress.getbyname ("192.168 .9.148 ") ؛ system.out.println (" 192.168.9.148 "+": "+address.gethostaddress ()) ؛ // احصل على اسم المضيف من خلال سلسلة IP IPS =" 192.168.9. ؛ CATC H (UnknownHostException UHE) {system.err.println ("غير قادر على العثور على:"+"192.168.9.148") ؛