어노테이션이란? 어노테이션이란 주석이라는 뜻을 가지고 있습니다. 주석이라는 뜻을 가지고 있지만 일반 주석과는 다르게 코드를 작성할 수 있습니다. 이 코드를 작성할 수 있다는 것은 무엇인가를 할 수 있다는 의미입니다. 어노테이션 정의하는 방법 @Target @Target은 해당 어노테이션 사용 대상을 지정합니다. METHOD를 선언하게 되면 메서드에 사용할 수 있다고 지정된 것입니다. @Retention @Retention은 어노테이션 유지정보를 지정하는데 사용합니다. RUNTIME으로 지정하게 되면 실행 시에 해당 어노테이션을 참조하게 됩니다. @interface @interface은 어노테이션 타입을 선언하는 키워드입니다. 어노테이션 타입 선언을 일반적인 인터페이스 선언과 구분하기 위해 @를 붙입니다...
Enum이란? Enum이란 열거형이라고 하며 서로 연관된 상수들의 집합을 의미합니다. Enum의 등장배경 Enum의 등장 전에는 어떠한 상수를 선언 시 static final으로 다 선언하자니 네임충돌이 발생할 우려도 있고 복잡했습니다. 인터페이스를 사용하면 위의 문제는 해결되나 타입의 안정성이 떨어지게 되었습니다. static final을 사용하여 변수 선언 아래 예제를 살펴보면 각각의 상수에 부여된 1, 2, 3이라는 리터럴은 단순히 상수들을 구분하고 이용하기 위해 부여된 값들이지 어떠한 논리적인 의미가 없습니다. 다시 말해 APPLE이 1인 의미는 굳이 1일 필요가 없다는 것입니다. 또한 네임충돌이 발생할 수 있습니다. 과일의 APPLE과 회사의 APPLE이 있다면 각각 구분을 해주어야 합니다. p..
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() 메..
- Total
- Today
- Yesterday
- 서비스 기반 아키텍처
- transactional outbox pattern spring boot
- spring boot redis 대기열 구현
- transactional outbox pattern
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot excel download oom
- spring boot redisson 분산락 구현
- spring boot poi excel download
- microkernel architecture
- @ControllerAdvice
- spring boot redisson sorted set
- service based architecture
- java userThread와 DaemonThread
- 람다 표현식
- spring boot 엑셀 다운로드
- java ThreadLocal
- pipeline architecture
- 자바 백엔드 개발자 추천 도서
- 레이어드 아키텍처란
- redis sorted set으로 대기열 구현
- JDK Dynamic Proxy와 CGLIB의 차이
- space based architecture
- spring boot excel download paging
- polling publisher spring boot
- redis sorted set
- redis 대기열 구현
- 공간 기반 아키텍처
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- pipe and filter architecture
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |