1. CPU 및 메모리 정보를 얻습니다
import java.io.inputStreamReader; import java.io.lineNumberReader; import java.util.arraylist; import java.util.list; import mytools.com.sun.managemen t.operatingsystemmmxbean; import mytools.java.io.file; import myTools .java.lang.management.managementFactory;/** * Windows 시스템 정보 (CPU, 메모리, 파일 시스템) * @Author Libing */public static final i nt cputime = 500; 백분율 = 100; println (getDisk ()); / 나머지 물리적 메모리는 긴 프리 히스 컬리 메모리 크기 = osmxb.getfreephysicalmemorysize = (double); %"; return str;} // 파일 시스템 사용 가능 공개 정적 목록 <string> getDisk () {// 운영 체제 목록 <string> list = new ArrayList <string> (); for (char c = 'a'; c <= 'z'; long free = (long) win.getfreespace (); double) (1-free*1.0/total)*디스크는 "+compare.intvalue ()+"%를 사용했습니다. "; list.add (str);}} 반환 목록;} // CPU 사용 가능 공개 정적 문자열 getCpuratioforWindows () {try {string proccmd = system.getenv ("windir ") +"// s ystem32 // wbem/ /wmic .exe 프로세스 GET 캡션, COLMANLLINE, KERNELMODETIME, ReadOperationCount, ThreadCount, usermodeTime, writeOperationCount "; // 프로세스 정보 Long [] C0 = readCP U (runtime.getRuntime ()); thread.sleep (thread.sleep); cputime); long [] c1 = runtime.getRuntime () = C1 [1] - CPU 사용 : "+double.valueof (busytime) * 1.0 / (busytime+idletime)). intvalue ()+"%"; CPU 사용률 : "+0+"%";}} catch (예외) {ex.printstacktrace (); return"cpu usage : "+0+"%";}} // CPU 관련 정보 개인 정적 읽기 long [] readcpu (최종 프로세스 Proc) {long [] new long [2]; linenumberReader (IR); if intput.length () {return null} int cm didx; = indexof ( "명령 선"); line.indexof (writeOperationCount ") Long Kneltime = 0; ) {계속;} 순서가 나타납니다 : 캡션, 커맨드 라인, kernelmodetime, readoperationcount, // strandCount, usermodetime, writeOperation string 캡션 = 하위 스트링 (line, capidx, cmdidx -1) .trim (); , cmdidx, kmtidx -1) .trim (); string s2 = substring (line, umtidx, wocidx -1) .trim (); 0) idletime + = long.longvalue (); > 0) kneltime += longvalue () [1] = retn retn} {ex.printstacktrace () {ex. getInputStream (); ();} return null; param src string * @param start_idx start 좌표 (이 좌표 포함) * @param end_idx 컷오프 좌표 (이 좌표 포함) */ private static string substring (String src, int start_idx, int end_id x) {byte [byte [byte [ ] src .getBytes ();2. 기계의 IP 주소를 가져옵니다.
개인 정적 문자열 getipAddress ()는 알 수없는 hostException을 던졌습니다.
3. 네트워크 카드 주소를 얻습니다
공개 정적 문자열 getMacAddress () {String address = ""; startstwith ( "wind .getInputStream ()); "); index += 2; address = line.subString (index); break;}} br.close (); return address.trim ();} catch (ioException e) {}} 반환 주소;}4. 운영 체제 계정을 얻습니다
String OsUser = System.GetProperty ( "user.name");
5. 운영 체제 버전을 얻으십시오
java.util.properties; system.getProperties (); os .arch "); // 운영 체제 아키텍처 문자열 osversion = props.getProperty ("os.version "); // 운영 체제 버전
6. 일반적으로 사용되는 정보 수집 방법을 구성하십시오
java.version java 런타임 환경 버전
Java. Vendor Java 런타임 환경 공급 업체
java.vendor.url Java 공급 업체의 URL
Java.Home Java 설치 디렉토리
java.vm.specification.version java 가상 머신 사양 버전
Java.vm.specification. Vendor Java Virtual Machine Specification 공급 업체
java.vm.specification.name java 가상 머신 사양 이름
Java.vm. Version Java Virtual Machine 구현 버전
Java.vm. Vendor Java Virtual Machine 구현 공급 업체
java.vm.name Java 가상 머신 구현 이름
java.specification.version java 런타임 환경 사양 버전
Java.Specification. Vendor Java 런타임 환경 사양 공급 업체
java.specification.name java 런타임 환경 사양 이름
java.class.version java 클래스 형식 버전 번호
java.class.path java classpath
java.library.path 라이브러리를로드 할 때 검색 된 경로 목록
java.io.tmpdir 기본 임시 파일 경로입니다
java.compiler가 사용할 JIT 컴파일러의 이름
java.ext.dir 하나 이상의 확장 디렉토리로가는 경로입니다
OS. 이름이 운영 체제의 이름입니다
OS.Arch 운영 체제 아키텍처
OS.Version 운영 체제 버전
file.separator 파일 분리기 (유닉스 시스템의 "/")
Path.Separator Path Separator ( ":"UNIX 시스템에서)
line.separator line separator (유닉스 시스템의 "/n")
user.name 사용자의 계정 이름입니다
user.home 사용자의 홈 디렉토리
user.dir 사용자의 현재 작업 디렉토리를 사용하십시오