목록Programming (79)
고양이 여름이의 지식채널
자바에서는 예외 처리를 위한 다양한 방법이 제공됩니다. 이번 포스팅에서는 try-catch문, throws 키워드, finally 블록, try-with-resources 구문 등의 예외 처리 방법에 대해 자세히 살펴보겠습니다 try-catch문 try-catch문은 예외가 발생할 수 있는 영역을 try 블록으로 감싸고, 예외가 발생하면 해당 예외를 처리하기 위한 catch 블록을 사용하는 방법입니다. try 블록 안에서 예외가 발생하면, catch 블록이 해당 예외를 처리하게 됩니다. 이때, try 블록 안에서 발생한 예외가 catch 블록에서 처리되면, try-catch문이 종료되어 다음 코드로 넘어가게 됩니다. public class ExceptionHandlingExample { public st..
자바 쓰레드 프로그래밍으로 쓰레드 로컬(ThreadLocal), ConcurrentHashMap 그리고 CompletableFuture 에 대해서 알아봅니다. 쓰레드 로컬 (ThreadLocal) 쓰레드 로컬은 쓰레드 간에 데이터를 공유할 수 있도록 돕는 자바의 클래스입니다. 이를 사용하면, 하나의 쓰레드에서 생성한 데이터를 다른 쓰레드에서도 사용할 수 있게 됩니다. 이를 통해 쓰레드 간 데이터 공유를 보다 안전하게 처리할 수 있습니다. public class ThreadLocalExample { // ThreadLocal 객체 생성 public static final ThreadLocal THREAD_LOCAL = new ThreadLocal(); public static void main(String..
자바 쓰레드 프로그래밍으로 쓰레드풀과 데드락에 대해서 알아봅니다. 쓰레드 풀(Thread Pool) 쓰레드 풀은 쓰레드를 효율적으로 사용하기 위한 방법입니다. 여러 개의 쓰레드를 미리 만들어 놓고, 작업이 필요할 때마다 쓰레드를 할당하여 작업을 수행합니다. 이를 통해 쓰레드를 반복적으로 생성하고 제거하는 오버헤드를 줄일 수 있습니다. public class ThreadPool { private final BlockingQueue taskQueue; // 작업 큐 private final List threads; // 쓰레드 리스트 public ThreadPool(int numThreads) { taskQueue = new LinkedBlockingQueue(); // 작업 큐 초기화 threads = n..
쓰레드(Thread)란? 자바에서 쓰레드는 하나의 프로세스 내에서 독립적으로 실행될 수 있는 작은 실행 단위를 의미합니다. 각각의 쓰레드는 자신만의 스택 메모리와 PC(Program Counter) 값을 가지고 실행됩니다. 쓰레드를 실행시키면 해당 쓰레드가 병렬적으로 동작하여, 다음과 같은 동작을 수행할 수 있습니다. 쓰레드가 실행하는 코드를 처리합니다. 다른 쓰레드와 동시에 실행될 수 있습니다. 쓰레드가 가지고 있는 스택 메모리에서 연산을 수행합니다. 쓰레드는 다른 쓰레드의 메모리 공간에 직접적으로 접근할 수 없으며, 각 쓰레드는 독립적으로 실행됩니다. 쓰레드의 우선순위에 따라 실행 순서가 결정됩니다. 쓰레드를 활용하면 여러 작업을 동시에 처리할 수 있으며, 이를 통해 작업의 효율성을 높일 수 있습니다..