[英]Get system information using java (embedded in a page)
有什么辦法可以獲得系統信息,比如處理器/ ram等(最好是跨平台,在瀏覽器中)?
我希望在網站上實現這一點,所以我需要在flash或java applet中。
試試這個applet程序。
import com.sun.servicetag.SystemEnvironment;
import java.lang.management.ManagementFactory;
public class Config extends java.applet.Applet{
public void paint(java.awt.Graphics g){
g.drawString("Hi.. This is Venkatesh..",50,10);
SystemEnvironment se = SystemEnvironment.getSystemEnvironment();
g.drawString("CpuManufacturer:"+se.getCpuManufacturer(),50,40);
g.drawString("HostID:"+se.getHostId(),50,60);
g.drawString("Host Name:"+se.getHostname(),50,80);
g.drawString("OS Architecture:"+se.getOsArchitecture(),50,100);
g.drawString("OS Name:"+se.getOsName(),50,120);
g.drawString("OS Verstion:"+se.getOsVersion(),50,140);
g.drawString("Serial no:"+se.getSerialNumber(),50,160);
g.drawString("System model:"+se.getSystemModel(),50,180);
g.drawString("System Manufacturer:"+se.getSystemManufacturer(),50,200);
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
g.drawString("Available Processors:"+mxbean.getAvailableProcessors(),50,220);
g.drawString("TotalRAM:"+mxbean.getTotalSwapSpaceSize()/(1024*1024*1024)+""+"GB",50,240);
g.drawString("RAM SIZE :" + (mxbean.getTotalPhysicalMemorySize()/(1024*1024*1024))+ " GB ",50,260);
}
}
<Applet Code="HelloWorld.class" width="150" height="150">
</Applet>
您可以使用SIGAR。 http://support.hyperic.com/display/SIGAR/Home
請注意,它是根據GPL許可的。 除非您將其用於內部應用程序或開源應用程序,否則它可能不適合您。
“嗨,
我認為Java是兩者中更具限制性的選擇,就您可以從客戶端提取的內容而言。
Flash會通過Capabilities類給你一些信息,它比Java有一些更寬松的安全性,所以我認為這是你最好的選擇。
package {
import flash.display.Sprite;
import flash.system.Capabilities;
public class CapabilitiesExample extends Sprite {
public function CapabilitiesExample() {
showCapabilities();
}
private function showCapabilities():void {
trace("avHardwareDisable: " + Capabilities.avHardwareDisable);
trace("hasAccessibility: " + Capabilities.hasAccessibility);
trace("hasAudio: " + Capabilities.hasAudio);
trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder);
trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo);
trace("hasMP3: " + Capabilities.hasMP3);
trace("hasPrinting: " + Capabilities.hasPrinting);
trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast);
trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback);
trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio);
trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder);
trace("isDebugger: " + Capabilities.isDebugger);
trace("language: " + Capabilities.language);
trace("localFileReadDisable: " + Capabilities.localFileReadDisable);
trace("manufacturer: " + Capabilities.manufacturer);
trace("os: " + Capabilities.os);
trace("pixelAspectRatio: " + Capabilities.pixelAspectRatio);
trace("playerType: " + Capabilities.playerType);
trace("screenColor: " + Capabilities.screenColor);
trace("screenDPI: " + Capabilities.screenDPI);
trace("screenResolutionX: " + Capabilities.screenResolutionX);
trace("screenResolutionY: " + Capabilities.screenResolutionY);
trace("serverString: " + Capabilities.serverString);
trace("version: " + Capabilities.version);
}
}
}
示例來自: http : //livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
為了檢測速度,您需要進行基准測試。
提示:通過監視javascript,flash或java中的渲染/計算時間,您可以根據實際性能動態改變應用程序的行為,而不是在啟動應用程序之前運行基准測試(正如我見過其他人所做的那樣) 。 例如:線程1:監視和更改數據(例如旋轉立方體中的旋轉度)。 線程2:進行繁重的計算和渲染。
(這在使用線程的Java中很容易,但是在flash中你需要對你的處理進行分塊,並且需要在監視器上檢查繁重的代碼以了解如何繼續)。
提示2:有很多公共基准測試,因此您可以通過運行基准測試並與基准測試結果數據庫進行比較來縮小運行的CPU類型。
希望這可以幫助 !
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.