자바 코드 품질 향상: 무 작위 피 드 를 함부로 설정 하지 마 세 요.

분석 
암호 화, 데이터 혼동 등 부분 에서 우 리 는 똑 같은 업무 데이터 가 혼란 을 초래 하지 않도록 유일한, 모방 할 수 없 는 숫자 를 얻 기 를 기대한다. 
자바 프로젝트 에 서 는 보통 Math. random 방법 과 Random 클래스 를 통 해 무 작위 수 를 얻 습 니 다.이 두 가지 방식 으로 랜 덤 수 를 얻 는 원 리 는 같 습 니 다. Math. random 방법 도 랜 덤 류 의 인 스 턴 스 를 생 성 한 다음 에 new xDouble 방법 에 의뢰 하 는 것 입 니 다. 차이 가 없습니다. 
자바 에서 랜 덤 수의 생 성 은 피 드 에 달 려 있 고 랜 덤 수 와 피 드 간 의 관 계 는 다음 과 같은 두 가지 규칙 을 따른다. 
1. 씨앗 이 다 르 면 무 작위 수가 생 긴 다. 
2. 피 드 가 같 으 면 인 스 턴 스 가 다 르 더 라 도 같은 랜 덤 수가 생 긴 다. 
Random 클래스 의 기본 피 드 (무 참 구조) 는 System. nanoTime () 의 반환 값 (JDK 1.5 버 전 이전 기본 피 드 는 System. currentTimeMillis () 의 반환 값) 입 니 다. 이 값 은 특정한 고정 시간 대의 나 초 수 입 니 다. 운영 체제 와 하드웨어 에 따라 고정 시간 이 다 릅 니 다. 즉, 서로 다른 운영 체제 의 나 초 값 이 다 릅 니 다.같은 운영 체제 의 나 초 값 도 다 르 고 랜 덤 수도 자연히 다르다. 
장면 
코드 1: 
public class Client{ 
    public static void main(String[] args){ 
        Random r = new Random(); 
        for(int i = 1; i < 4; i++){ 
            System.out.println(" " + i + " :" + r.nextInt()); 
        } 
    } 
} 

코드 2: 
public class Client{ 
    public static void main(String[] args){ 
        Random r = new Random(1000); 
        for(int i = 1; i < 4; i++){ 
            System.out.println(" " + i + " :" + r.nextInt()); 
        } 
    } 
} 

코드 1: 세 번 출력 하 는 난수 가 다 르 고 여러 번 실행 하 는 결과 도 다 릅 니 다. 
코드 2: 3 차 출력의 임 의 수 는 다 르 지만 몇 번 을 실행 하 든 결 과 는 같 습 니 다. 
위의 분석 으로 는 결코 이 문 제 를 해석 하기 어렵 지 않다.  
건의 
필요 하지 않 으 면 무 작위 피 드 를 설정 하지 마 세 요.

좋은 웹페이지 즐겨찾기