/ ** * 설명 : * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee * <BR/>이 프로그램은 저작권법에 의해 보호됩니다. * 프로그램 이름 <BR/> : * <BR/> 날짜 : * 저자 YeekuHLee kongyeeku163com * @version 1.0 * / //이 BigImage 큰 그림 시뮬레이션 사용하는 공공의 클래스를 BigImage 구현의 이미지를 { 공공 BigImage () { 시험 { // 프로그램 3S 중지 모드 시뮬레이션 오버 에 Thread.sleep (3000 ); 에서 System.out.println는 ( "사진이 성공적으로로드 ..." ); } 캐치 (예외 : InterruptedException 예) { ex.printStackTrace (); } } // 쇼 () 메소드에서 이미지를 달성 공공 무효 ) (쇼 { 에서 System.out.println ( "진짜 큰 그림을 그릴" ); } }
/ ** * 설명 : * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee * <BR/>이 프로그램은 저작권법에 의해 보호됩니다. * 프로그램 이름 <BR/> : * <BR/> 날짜 : * 저자 YeekuHLee kongyeeku163com * @version 1.0 * / 공공 클래스 BigImageTest { 공공 정적 무효 메인 (문자열 []에 args) { 긴 시작 = 에 System.currentTimeMillis는 (); //는 이미지 객체 프록시 객체를 만 BigImage 반환 이미지 이미지 = 새로운 새로운 ImageProxy 라 ( 널 (null)를 ); 에서 System.out.println이 ( "시간 시스템 오버 헤드가 이미지 개체를 얻을 :"+ (에 System.currentTimeMillis () - 시작)); // 만 쇼 () 메소드는 실제로 이미지 프록시를 호출 프로그램은 정말 프록시를 생성합니다 객체입니다. () image.show; } }
/ ** * 설명 : * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee * <BR/>이 프로그램은 저작권법에 의해 보호됩니다. * 프로그램 이름 <BR/> : * <BR/> 날짜 : * 저자 YeekuHLee kongyeeku163com * @version 1.0 * / 공공의 인터페이스 이미지 { 무효 표시 (); }
/ ** * 설명 : * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee * <BR/>이 프로그램은 저작권법에 의해 보호됩니다. * 프로그램 이름 <BR/> : * <BR/> 날짜 : * 저자 YeekuHLee kongyeeku163com * @version 1.0 * / 공용 클래스 있는 ImageProxy의 구현의 이미지 { // 하나 개의 예를 들어, 이미지, 같은 프록시 개체의 조합 개인 이미지 이미지; // 프록시 객체 추상적 인 실체 초기화하는 데 사용 공공 있는 ImageProxy (이미지 이미지) { 이 이미지입니다 = 이미지; } / ** * 다시 쓰기 이미지 인터페이스 표시 () 메소드 * 프록시 객체에 대한 접근을 제어하기위한 방법에있어서, * 생성 및 프록시 객체를 삭제하기위한 책임이 필요 * / 공공 무효 쇼 () { // 쇼가 정말 개체의 이미지를 호출 할 때이 방법을 만든 경우에만 프록시 할 IF (이미지 == null이 ) { 이미지 = 새로운 BigImage을 (); } () image.show; } }