전체 글(14827)
-
인터페이스의 특징
인터페이스의 특징· 상속구조를 통해서 둘 이상의 클래스의 상속의 관계를 형성하기 위한 클래스(다중 상속 가능해집니다)· 인스턴스화 하기 위해 정의된 클래스가 아닙니다.· 인터페이스 내에 선언된 변수는 무조건 public static final로 선언(상수)· 인터페이스 내에 선언된 메소드는 무조건 public abstract로 선언(추상 메서드)· 인터페이스 자료형타입으로 참조변수 선언 가능· 인터페이스도 메소드 오버라이딩(Overriding) 원칙 그대로 적용되며 인터페이스가 가지는 추상 메서드 모두 재정의해야 합니다.
-
바이트 스트림, 바이트 스트림의 종류
바이트 스트림· 바이트 스트림은 1 byte를 입출력 할 수 있는 스트림입니다.· 자바에서 입·출력 스트림을 통해 흘러가는 데이터의 기본 단위입니다.· 일반적으로 바이트로 구성된 파일, 즉 동영상 파일, 이미지 파일, 음악 파일을 처리하기에 적합한 스트림입니다. 바이트 스트림의 종류바이트 스트림의 종류는 InputStream과 OutputStream으로 구성되어 있으며 입출력 스트림은 대부분 쌍(Pair)을 이룹니다. 클래스 이름에 "Steam"이 붙으면 바이트스트림을 처리하기 위한 클래스입니다.
-
FileInputStream& FileOutputStream
FileInputStream& FileOutputStream텍스트 파일에서 문자 데이터 입·출력할 때 사용합니다.
-
join(), join() 스레드 상태 도식도
join()계산 프로그램에서 계산 작업을 하는 스레드가 모든 계산 작업을 마쳤을 때, 계산 결과값을 받아서 처리해야 하는 경우가 있습니다. 이런 경우에 사용할 수 있는 메소드입니다.스레드는 다른 스레드와 독립적으로 실행하는 것이 기본이지만, 다른 스레드가 종료될 때까지 기다렸다가 실행할 수 있도록 해주는 메소드입니다. join() 스레드 상태 도식도ThreadA가 ThreadB의 join()메소드를 호출하면 ThreadA는 ThreadB가 종료할 때까지 일시정지 상태가 됩니다. ThreadB의 run()메소드가 종료되면 비로소 ThreadA는 일시 정지상태에서 벗어나 다음 코드를 실행하게 됩니다.
-
무의미한 반복, yield() - 스레드 상태 제어
무의미한 반복스레드 처리작업은 반복 실행을 위해 while문이나 for문을 포함하는 경우가 많이 있습니다.스레드가 시작되어 run()메소드를 실행하면 while(true){}블록을 무한 반복합니다.만약 isWork의 값이 false라면 그리고 isWork의 값이 false에서 true로 변경되는 시점이 불명확하다면 while문은 어떠한 실행문도 실행하지 않고 무의미한 반복을 하게 됩니다.이것보다는 다른 스레드에게 실행을 양보하고 자신은 실행대기 상태로 가는 것이 전체 프로그램 성능에 도움이 됩니다. public void run(){ while(true){ if(isWork){ System.out.println("Thread 작업 내용"); }else{ Thread.yield(); } } }
-
sleep() - 스레드 상태 제어
sleep()· 실행 중인 스레드를 주어진 일정 시간동안 일시 정지 시킵니다.· 메소드를 호출하면 스레드는 주어진 시간 동안 일시 정지상태가 되고 다시 실행 대기 상태로 돌아갑니다.· 매개값으로 얼마동안 일시 정지 상태로 있을 것인지 밀리세컨드(millisecond; 1/1000)단위로 시간을 설정합니다.· 일시정지 상태에서 주어진 시간이 되기 전에 interrupt()메소드가 호출되면 InterruptedException 예외가 발생하기 때문에 예외처리가 필요합니다.