java 기초 -- System, Runtime 대상 (1)


1: System 클래스:
자바 에서 사용 하 는 System 대상 입 니 다. 우 리 는 System. out. print 를 자주 사용 합 니 다. 또한 이것 은 콘 솔 에서 문 구 를 출력 할 수 있 는 것 일 뿐 내 적 실현 원 리 를 깊이 연구 하지 않 습 니 다.다음은 System 대상 을 자세히 소개 하 겠 습 니 다.  1. JDK 에는 다음 과 같은 정의 가 있 습 니 다. The System class contains several useful class fields and methods. It cannot be instantiated.  즉, System 대상 은 예화 되 지 않 고 속성 과 방법 을 호출 하여 사용 할 수 밖 에 없다 는 것 이다.  2. System 의 속성 Systme. in 은 InputStream 형식 으로 콘 솔 에서 입력 한 정 보 를 받 아들 일 수 있 습 니 다.System. out 과 System. err 는 모두 PrintStream 형식 으로 콘 솔 에서 정 보 를 출력 할 수 있 습 니 다.  3. System. getProperties () 는 Properties 형식의 대상 을 되 돌려 주 고, 되 돌아 오 는 정 보 는 자바 가상 컴퓨터 시작 과정 에서 불 러 올 환경 설정 정보 입 니 다.아래 코드 를 통 해 정 보 를 얻 고 출력 할 수 있 습 니 다. Properties 는 HashTable 의 하위 클래스 이기 때문에 Map 방법 으로 이 집합 에 있 는 요 소 를 추출 할 수 있 습 니 다.
import java.util.*;  
  
public class SystemDemo {  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        Properties prop=System.getProperties();  
        for(Object key:prop.keySet()){  
            String keyStr=(String)key;  
            String value=prop.getProperty(keyStr);  
            System.out.println(keyStr+" --- "+value);  
        }  
    }  
}

다음 코드 를 사용 하면 콘 솔 출력 시스템 환경 설정 정 보 를 사용 할 수 있 습 니 다.
public class SystemDemo {
	public static void main(String[] args) {
		System.getProperties().list(System.out);
	}
}

System 대상 을 통 해 시스템 에서 특유 의 정 보 를 사용자 정의 할 수 있 습 니 다. 
System.setProperty(myKey , myValue); 
그리고 주의해 야 할 점 은: 시스템 포 퍼 티 란 시스템 은 JRE (runtime) system 을 가리 키 며 OS 가 아니다. 
System.setProperty("net.jxta.tls.principal", "client");  System.setProperty("net.jxta.tls.password", "password");  System.setProperty("JXTA_HOME",System.getProperty("JXTA_HOME","client"));  시스템 속성 을 이용 하여 여러 드라이브 를 불 러 올 수 있 습 니 다.
다음은 완전한 코드 와 설명 프로그램 을 보 여 줍 니 다.
/*
System:             static。
out:    ,      
in:    ,     
        :Properties getProperties();
*/
import java.util.*;
class SystemDemo
{
    public static void main(String[] args)
	{
	   //    
	   Properties prop=System.getProperties();
       //  Properties HashMap   ,   Map        
	   //      map           。
	   //            ,      
	   
	   
	   //               
	   System.setProperty("myKey","myValue");
	   //        
       String value=System.getProperty("os.name");
	 
      System.out.println("value=:"+value);	 
	  
	  //     jvm   ,           
	  String v=System.getProperty("haha");
	  
	  System.out.println("v=:"+v);
	   /*
	    //        
       for(Object obj: prop.keySet()) 
	   {
	        String value =(String)prop.get(obj);
			
			System.out.println(obj+"::"+value);
	   }
       */   
	
	}
}

두 번 째: Runtime 클래스:
자바 의 Runtime 대상 은 구조 함 수 를 제공 하지 않 았 습 니 다. 
(1) 이 종 류 는 new 를 사용 하여 대상 을 만 들 수 없다 는 것 을 설명 한다.
(2) 이런 방법 은 모두 정적 일 수 있다.
(3) 이러한 API 에 비정 상 방법 이 있 음 을 발견 했다.
(4) 이 종 류 는 이러한 대상 을 얻 는 방법 을 제공 하고 이 방법 은 정적 이 며 반환 값 유형 은 본 유형 임 을 설명 한다.
(5) 상기 정 보 를 통 해 알 수 있 듯 이 이런 유형 은 단일 디자인 모델 로 완성 되 었 다.
Runtime 대상 을 사용 하면 프로그램 실행 파일 (exe 파일) 을 열 고 프로그램 을 시작 할 수 있 습 니 다.
다음은 완전한 코드 와 설명 을 드 립 니 다.
/*
Runtime  
            ,     new  ,                  
            
                  。         ,            

                    

    static Runtime getRuntime();

*/

class RuntimeDemo
{
    public static void main(String[] args) throws Exception
	{
	  Runtime r=Runtime.getRuntime();
	  Process p=r.exec("notepad.exe");
	  
	  //     
	  Thread.sleep(4000);
	  p.destroy();
	  System.out.println("Hello World!");
	}
}

몇 가지 지식 을 보충 하 다.
(1): 단일 디자인 모델: 단일 모델 은 자주 사용 하 는 소프트웨어 디자인 모델 이다.그것 의 핵심 구조 에는 단 례 류 라 고 불 리 는 특수 류 만 포함 되 어 있다.단일 사례 모델 을 통 해 시스템 의 한 가지 사례 만 있 고 이 사례 는 외부 방문 이 쉬 워 서 사례 개수 에 대한 통제 와 시스템 자원 을 절약 할 수 있다.시스템 에서 어떤 유형의 대상 이 하나만 존재 하 기 를 원한 다 면 단일 모델 이 가장 좋 은 해결 방안 이다.
(2) \ \ 는 전의 문자 로 뒤에 붙 어 있 는 알파벳 을 전 의 했 기 때문에 파일 의 경 로 는 \ \ 또는 / 로 나 누 어야 합 니 다.
(3) abstract 추상 류 는 대상 을 만 들 수 없습니다.

좋은 웹페이지 즐겨찾기