본문 바로가기

Language/Java56

Thread(쓰레드) 프로세스 동작의 최소 단위 하나의 프로세스에서 여러개의 쓰레드가 동작하는 환경을 멀티쓰레딩(Multi Threading) 이라고 한다. 멀티쓰레딩 사용 시 장점 : CPU 사용률 향상, 응답성 향상, 자원 효율성 증대 멀티쓰레딩 구현하는 방법 1. Thread 클래스를 상속받아 run() 메서드를 오버라이딩 => 인스턴스 생성 후 start() 메서드를 호출하여 멀티쓰레딩 실행 2. Runnable 인터페이스를 구현하여 run() 메서드를 오버라이딩 => start() 메서드가 존재하지 않으므로 Thread 클래스 생성자에 Runnable 인터페이스 구현 객체를 전달한 뒤 Thread 클래스를 통해 start() 메서드로 메서드 내에서 run() 호출됨) 1 2 3 4 5 6 7 8 9 10 11 12 .. 2020. 7. 7.
throws 키워드를 사용한 예외 처리의 위임 예외가 발생한 곳에서 try ~ catch 블록으로 예외를 직접 처리할 수 있지만, 자신이 직접 처리하지 않고, 메서드를 호출한 곳으로 예외를 위임(떠넘김) 할 때 throws 키워드를 사용한다. 에외 처리를 위임받은 메서드는 다시 예외 처리에 대한 책임이 발생하며, 자신이 직접 처리하거나 또 다른 곳으로 위임할 수 있음. 최종적으로 마지막 단계의 메서드에서는 try ~ catch 블록을 통해 처리해야함 (ex, 자바에서는 main() 메서드) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public static void 대리1() throws ArithmeticException { System.out.println(3 / 1); // .. 2020. 7. 7.
예외(Exception) 프로그램 실행 중 발생하는 의도치 않은 상황(문제) 예외 발생 시 프로그램은 실행 도중 비정상적으로 종료됨 => 예외 발생 시점부터 나머지 코드가 실행되지 않음 예외 처리를 통해 프로그램을 정상적으로 종료하도록 해야 함 Exception Handling이라고 함 예외 처리를 위해서 try ~ catch 문으로 사용 try 블록 내에 예외가 발생할 것으로 예상되는 코드들을 작성 catch 블록 내에 특정 예외 발생 시 수행할 동작(예외 처리 코드)을 기술 (단, 발생한 예외를 처리할 수 있는 예외 클래스 변수 선언 필요함!) 1. Compile Checked Exception 계열 : 코드 작성 시 컴파일 시점에서 예외 발생 여부를 알 수 있음 => 예외를 처리하지 않으면 프로그램 실행 불가 ex) SQL.. 2020. 7. 6.
정규표현식 1. 기본 패턴(메타) 문자 ^x : x 로 시작하는 문자열 => "x", "xa", "xab" .... x$ : x로 끝나는 문자열 => "x", "ax" .x : x 앞에 1개의 문자가 포함되는 문자열 => "ax", "bx" .... x+ : x가 1번 이상 반복되는 문자열 => "x", "xx", "xxx"... x* : x가 0번 이상 반복되는 문자열 => "a", "", "x", "xx", "xxx" ... x? : x 나올 수도 있고, 나오지 않을 수도 있는 문자열 => "x", "", "a" ... x|y : x 또는 y 가 포함되는 문자열 ex) xa?y$ : 시작 문자열은 관계없음 문자열 중에서 x뒤에 a가 올 수도 있고, 안 올 수도 있으며, 그 뒤의 마지막은 y로 끝나야한다. => .. 2020. 7. 6.
StringTokenizer~format 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 StringTokenizer String str = "JAVA/JSP/ANDROID/SPRING" String[] array = str.split("/"); // "/" 을 기준으로 문자열을 짜름 for(String s = array){ System.out.println(s); } StringTokenizer st = new StringTokenizer(str,"/"); while(st.hasMoreTokens()){ System.out.println(st.nextToken()); } Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 DecimalFormat // 실수 dou.. 2020. 7. 6.
시간 관련 클래스 및 패키지 java.util.Date 클래스 - 날짜 및 시각 정보를 관리하는 클래스 - 대부분의 메서드가 deprecated 로 처리되어 있으므로 현재 사용되지 않지만, 기존에 제공되는 API 들의 대다수가 Date 타입을 사용하고 있음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Date d1 = new Date(); // 인스턴스 생성 해서 사용 System.out.println(d1); // toString() 생략되어 있음 (=오버라이딩) // 현재 날짜 및 시각 정보가 Wed Jun 24 16:03:53 KST 2020 형태로 출력됨 // => EEE MMM dd HH:mm:ss zzz yyyy 패턴을 사용하여 toString() 메서드 오버라이딩.. 2020. 6. 25.