이 글 참조 많은 자료, 또는 녹음 방송 또는 자신의 경험 추출물 또는 조합 전에 검증에서.
참고 :
1 SornaQube
2,
-------------------------------------------------- ---------- 점 - 컷 - 라인 ----------------------------------- -------------------------
1 텍스트 문자열이 판정 개시 문자열 비교 동일 좌측에 방지 할 수 NullPointerException이
문자열 successFlag = 널 (null) ; 경우 ( "0" .equals (successFlag)) { // TODO }
경우 비즈니스 로직 최적화를 고려보다 더, 더보다 3 층 구조의 문장 않으려 고하면서, 경우, 중첩 된 2,
IF (조건 1) { // . 제 1 층 -OK / * ... * / IF 합니다 (이 조건 2) { // 층 -OK 2 / * ... * / 대 ( INT I = 0; I <10; I ++을 ) { // 3 층 -ok 정의 된 넘지 않도록 / * ... * / IF (condition4) { // 층 4 - 확인되지 제한된 넘어 / * ... * / 복귀 ; } } } }
도 3은 (예를 들어 파일, 데이터베이스 연결, 네트워크 연결 등) JDK7 시도 -와 - 리소스 코드 신택스를 단순화 사용 후 외부 자원, 최종적으로 폐쇄 일반적으로 외부 플레이트 프로세싱 자원의 동작에 관한
【未使用시도-뿐인데 자원을】 FileInputStream에 inputStream을 = 널 (null) ; 시도 { inputStream을 = 새로운 FileInputStream에 ( 새로운 파일 ( "테스트" )); 에서 System.out.println (inputStream.read ()); } 캐치 (IOException이 전자) { 던져 새로운 RuntimeException을 (e.getMessage (), 전자); } 마지막으로 { 경우 (! inputStream을 = null가 ) { 시도 { ) (inputStream.close을; } 캐치(예외 : IOException e)이 { 던져 새로운 RuntimeException을 (e.getMessage (), 전자); } } } 【使用시도 -with- 자원】 시도 (FileInputStream의 inputStream을 = 새로운 FileInputStream에 ( 새로운 파일 ( "테스트" ))) { 에서 System.out.println (inputStream.read ()); } 캐치 (IOException이 전자) { 던져 새로운 RuntimeException을 (e.getMessage (), 전자); }
의 경우에 연결된 4 : 외부 자원을 폐쇄 한 경우 쉽게 시도 -과 - 자원 운영 문법, 시도 - 캐치 자원을 분리하는 것이 좋습니다하지 않을 때
의 InputStream 인 inStream = 널 , fileInStream = 널 ; 메소드가 ServletOutputStream outStream = 널 ; INT byteRead; 시도 { fileInStream = 새 ( "파일 이름"또는 FileInputStream을 ); 인 inStream = 새로운 BufferedInputStream을 (fileInStream); response.reset (); response.setContentType ( 는 "application / octet-stream" ); response.setHeader ( "내용 처리", "첨부 파일, 파일 이름 ="+ "파일명"+ ".XLS" ); outStream = response.getOutputStream (); 바이트 [완충액 = 새로운 바이트 [1024 ]; 반면 ((byteRead = inStream.read (완충액)) = -1! ) { outStream.write (버퍼, 0 , byteRead); } response.flushBuffer (); outStream.close (); inStream.close (); fileInStream.close (); } 캐치 (예외 전자) { LOGGER.error ( "전자); } 마지막으로 { 시도{ 경우 (! = outStream 널 ) { outStream.close (); } } 캐치 (IOException이의 E2) { LOGGER.error (E2); } 시도 { 경우 (! 인 inStream = 널 (null) ) { inStream.close (); } } 캐치 (IOException이의 E2) { LOGGER.error (E2); } 시도 { 경우 (fileInStream! = null이를 {) fileInStream.close (); } } 캐치(IOException이 된 E2) { LOGGER.error (E2); } }
5,
HTTPS : //www.cnblogs.com/ruanian/p/11064539.html 재현