java

    프로세스와 쓰레드

    프로세스(Process)와 쓰레드(Thread) 프로세스와 쓰레드는 정말 중요한 개념이다. 프로세스와 쓰레드를 정확히 이해해야 스프링의 멀티 쓰레드 환경에서 왜 상태값을 갖도록 설계하면 안되는지에 대해 알 수 있다. 특히 프로세스의 메모리 영역(Stack, Heap, Data, Text)과 쓰레드가 프로세스와 공유하지 않는 영역(Stack) 에 대해서 제대로 알아야 한다. 프로그램 명령어, 코드 및 정적인 데이터의 묶음이며 아직 실행되지 않은 상태를 의미 프로세스 실행 중인 프로그램 운영체제로부터 시스템 자원을 할당 받는 작업의 단위 자, 먼저 Operating System 에서의 프로세스와 쓰레드가 어떤 것인지에 대해서 배우고, 그 개념을 자바와 스프링에 접목시켜서 현업에서 동시성 이슈를 어떤식으로 피..

    Checked, Unchecked Exception

    Checked, Unchecked Exception Checked Exception 은 예외 처리가 필요한 예외를 뜻하고, Unchecked Exception 은 예외 처리를 하지 않아도 되는 예외를 뜻한다. Error 는 시스템이 비정상적인 상황에서 발생한다. 개발자가 로직 구현 단계에서 미리 예측할 수 없기 때문에 따로 처리할 방안도 존재하지 않는다. 애플리케이션단 에서는 Error 에 대한 처리를 신경쓰지 않아도 된다. OOM(OutOfMemory) 나 ThreadDeath 같은 에러는 예외 처리로 잡아도 할 수 있는 것이 없기 때문이다. 따라서, Checked 와 Unchecked Exception 에 대한 예외처리가 중요해진다. Checked, Unchecked Exception 의 특징을 살펴..