목록2025/01 (2)
개발 기록이

1. public vs private public: 누구나(어디서든) 접근 가능private: private이 선언된 메서드나 변수가 속한 클래스 안에서만 접근 가능public class PrivateTest { public static void main(String[] args) { Cafe cafe = new Cafe(); cafe.orderCoffee(); // 커피 주문하기(호출 가능) // cafe.makeCoffee(); // private라서 호출 불가 } public static class Cafe { private void makeCoffee() { // 카페 관계자만 사용 가능(커피 만들기) Sy..

여러 사람에게 메일 발송을 하는 것처럼 반복적인 작업을 동기 방식으로 처리하면, 각 작업이 완료될 때까지 블로킹이 발생하여 전체 처리 시간이 늘어날 수 있다. ExecutorService를 활용한 비동기 처리에 대해 알아보자. 병렬 작업과 스레드풀병렬 작업(여러 작업을 동시에 처리) 증가 → 스레드 개수 증가 → CPU, 메모리 사용량↑ → 성능 저하병렬 작업 시 스레드풀을 사용하여 스레드 수 제어가 필요하다. 스레드풀(ThreadPool)의 동작제한된 개수의 스레드를 사용하여, 작업이 끝난 후에는 해당 스레드를 재사용하여 성능 저하를 막아준다. 자바에서 스레드풀 사용ExecutorService 인터페이스를 통해 스레드풀을 관리한다.Executors 클래스를 사용하여 다양한 유형의 스레드풀을 생성한다.*..