
Main Thread 모든 자바 어플리케이션에서 메인 스레드는 다음과 같은 main 메서드를 통해서 실행하게 됩니다. 메인 메서드가 실행이 되면 코드는 한줄 한줄 순차적으로 시작하게 되고 return을 만나거나 main 메서드의 끝이오면 종료하게 됩니다. 이런 main 메서드만 존재하는 상황을 싱글 스레드 어플리케이션이라고 하는데 main 스레드가 종료되면 프로그램 자체도 종료됩니다. main 스레드 구조에서 스레드를 여러개 생성하여 멀티 스레드로 구성할 수 있는데 그림으로 확인해보겠습니다. main 스레드가 끝나고도 다른 스레드도 끝나야 프로세스가 종료가 되는데 데몬 스레드는 예외입니다. public static void main(String[] args) { System.out.println("Mai..

Thread란? 스레드란 한 프로세스에서 동작되는 여러 흐름입니다. 쉽게 말하자면 크롬에서 여러개의 탭을 사용중에 있거나 교통체증을 막기위하여 여러개의 차선이 있는것이라고 생각할 수 있습니다. Thread의 상태 경우에 따라서 스레드는 실행 상태에서 실행 대기 상태로 가지 않고 일시 정지 상태로 가기도 하는데, 일시 정지 상태는 스레드가 실행할 수 없는 상태입니다. 스레드가 다시 실행 상태로 가기위해서는 실행 대기 상태로 가야합니다. 스레드 객체 생성 - NEW 스레드 객체 생성 후 아직 start() 메서드가 호출되지 않은 상태입니다. 실행 대기 - RUNNABLE 실행 상태로 언제든지 갈 수 있는 상태입니다. CPU를 점유하고 있지 않으며 실행을 하기 위한 대기 상태입니다. 개발자가 start() 메..

Thread 클래스와 Runnable 인터페이스 Thread Class Thread 클래스를 상속받는 경우에는 run() 메서드를 오버라이딩해야합니다. Thread 클래스를 상속받아 사용하는 경우에는 정의된 각 스레드가 고유한 객체를 만들고 해당 객체와 연결이 됩니다. Runnable Interface Runnable 인터페이스를 구현하는 경우에는 run() 메서드를 구현해야합니다. Runnable 인터페이스를 구현하는 경우 정의된 각 스레드는 같은 객체를 공유하게 됩니다. Thread 흐름 Thread Class 위에서 설명한거처럼 고유한 객체를 만들고 해당 객체의 start() 메서드를 호출하여 스레드를 동작시킵니다. 여러개의 스레드가 필요한 경우 객체를 생성하여 스레드를 사용해야 합니다. publi..

예외(Exception)란 무엇인가? Exception과 Error의 차이는? Exception(예외)란? 예외는 갑작스럽게 발생하더라도 해결할 수 있는 프로그램 오류로서 에러보다 비교적 덜 심각한 오류입니다. 프로그래머가 예외를 처리하는 코드를 작성함으로써 방지를 할 수 있습니다. Error란? 시스템이 종료되어야 할 수준의 상황과 같이 수습할 수 없는 심각한 문제를 의미합니다. 개발자가 미리 예측하여 방지할 수 없습니다. 예외 처리 방법 try - catch - finally try 블록에는 예외 발생 가능한 코드가 들어가며 try 블럭 내부에서 예외가 발생하면 즉시 실행을 멈추고 catch 블록으로 이동하여 예외 처리 코드를 실행합니다. 그리고 finally 블록 코드를 실행합니다. finally ..
- Total
- Today
- Yesterday
- 자바 백엔드 개발자 추천 도서
- pipe and filter architecture
- 람다 표현식
- redis 대기열 구현
- 서비스 기반 아키텍처
- spring boot poi excel download
- microkernel architecture
- spring boot redis 대기열 구현
- transactional outbox pattern spring boot
- redis sorted set
- spring boot excel download oom
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot excel download paging
- spring boot redisson destributed lock
- pipeline architecture
- spring boot 엑셀 다운로드
- service based architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- 레이어드 아키텍처란
- spring boot redisson sorted set
- @ControllerAdvice
- polling publisher spring boot
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot redisson 분산락 구현
- transactional outbox pattern
- redis sorted set으로 대기열 구현
- java userThread와 DaemonThread
- space based architecture
- 공간 기반 아키텍처
- java ThreadLocal
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |