분류 전체보기 (127) 썸네일형 리스트형 바이트 출력 스트림 OutputStream OutputStream은 바이트 출력 스트림의 최상위 클래스로 추상 클래스 모든 바이트 출력 스트림 클래스는 이 OutputStream 클래스를 상속받아서 만들어짐 출처, 이것이 자바다 OutputStream 클래스에는 모든 바이트 출력 스트림이 기본적으로 가져야 할 메소드가 정의됨 출처, 이것이 자바다 ## 1바이트 출력 write(int b) 메소드: 매개값 int(4byte)에서 끝 1byte만 출력. 매개변수는 int 타입 출처, 이것이 자바다 package ch18.sec02.exam01; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; /* .. 입출력 스트림 입력 스트림과 출력 스트림 프로그램을 기준으로 데이터가 들어오면 입력 스트림, 데이터가 나가면 출력 스트림 프로그램이 다른 프로그램과 데이터를 교환하려면 양쪽 모두 입력 스트림과 출력 스트림이 필요 출처, 이것이 자바다 바이트 스트림: 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 입출력할 때 사용 문자 스트림: 문자만 입출력할 때 사용 생성자 참조 생성자 참조 객체를 생성하는 것. 람다식이 단순히 객체를 생성하고 리턴하도록 구성되면 람다식을 생성자 참조로 대치 가능 출처, 이것이 자바다 클래스 이름 뒤에 :: 기호를 붙이고 new 연산자를 기술 출처, 이것이 자바다 생성자가 오버로딩되어 여러 개가 있을 경우, 컴파일러는 함수형 인터페이스의 추상 메소드와 동일한 매개변수 타입과 개수를 가지고 있는 생성자를 찾아 실행 해당 생성자가 존재하지 않으면 컴파일 오류 발생 메소드 참조 메소드 참조 메소드를 참조해 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수를 제거 출처, 이것이 자바다 정적 메소드와 인스턴스 메소드 참조 정적 메소드를 참조 시 클래스 이름 뒤에 :: 기호를 붙이고 정적 메소드 이름을 기술 출처, 이것이 자바다 인스턴스 메소드일 경우에는 객체를 생성한 다음 참조 변수 뒤에 :: 기호를 붙이고 인스턴스 메소드 이름을 기술 출처, 이것이 자바다 package ch16.sec05.exam01; @FunctionalInterface public interface Calcuable { double calc(double x, double y); /* 람다구문 (double x, double y) -> { return x + y; } */ } package c.. 람다식 람다식 함수형 프로그래밍: 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법 데이터 처리부는 제공된 함수의 입력값으로 데이터를 넣고 함수에 정의된 처리 내용을 실행 람다식: 데이터 처리부에 제공되는 함수 역할을 하는 매개변수를 가진 중괄호 블록이다. 자바는 람다식을 익명 구현 객체로 변환 출처, 이것이 자바다 출처, 이것이 자바다 함수형 인터페이스 인터페이스가 단 하나의 추상 메소드를 가지는 것 출처, 이것이 자바다 인터페이스가 함수형 인터페이스임을 보장하기 위해서는 @FunctionalInterface 어노테이션을 붙임 @FunctionalInterface: 컴파일 과정에서 추상 메소드가 하나인지 검사해 정확한 함수형 인터페이스를 작성할 수 있게 도와주는 역할 package ch1.. 스레드풀 스레드풀로 작업 처리 제한하기 작업 처리에 사용되는 스레드 개수를 제한하고 작업 큐에 들어오는 작업들을 스레드가 하나씩 맡아 처리하는 방식 작업 처리가 끝난 스레드는 다시 작업 큐에서 새로운 작업을 가져와 처리 작업량이 증가해도 스레드의 개수가 늘어나지 않아 애플리케이션의 성능의 급격한 저하 방지 출처, 이것이 자바다 스레드풀 생성 java.util.concurrent 패키지에서 ExecutorService 인터페이스와 Executors 클래스를 제공 Executors의 다음 두 정적 메소드를 이용하면 스레드풀인 ExecutorService 구현 객체를 만들 수 있음 출처, 이것이 자바다 초기 수: 스레드풀이 생성될 때 기본적으로 생성되는 스레드 수 코어 수: 스레드가 증가된 후 사용되지 않는 스레드를 .. 데몬 스레드 데몬 스레드 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드 주 스레드가 종료되면 데몬 스레드도 따라서 자동 종료 데몬 스레드를 적용 예: 워드프로세서의 자동 저장, 미디어플레이어의 동영상 및 음악 재생, 가비지 컬렉터 주 스레드가 데몬이 될 스레드의 setDaemon(true)를 호출 출처, 이것이 자바다 package ch14.sec08; public class AutoSaveThread extends Thread { public void save() { System.out.println("작업 내용을 저장함."); } @Override public void run() { //스레드의 제어를 받는 코드 while(true) { try { Thread.sleep(1000); } catch (I.. 스레드 안전 종료 안전하게 스레드 종료하기 스레드 강제 종료 stop() 메소드: deprecated(더 이상 사용하지 않음) 스레드를 안전하게 종료하려면 사용하던 리소스(파일, 네트워크 연결)를 정리하고 run() 메소드를 빨리 종료해야 함 조건 이용 while 문으로 반복 실행 시 조건을 이용해 run() 메소드 종료를 유도 출처, 이것이 자바다 package ch14.sec07.exam01; public class PrintThread extends Thread{ private boolean stop; //기본값 false public void setStop(boolean stop) { this.stop = stop; } @Override public void run() { while(!stop) { System.o.. 이전 1 2 3 4 5 ··· 16 다음