Array List Array List는 자바에서 가장 흔히 볼 수 있는 JCF입니다. 필자는 지금까지 List를 선언할 때 아무 생각 없이 Array List만을 사용하곤 했었습니다. 또한 자바에서 Array List는 내부적으로 Object[] 배열을 두고 사용합니다. 💡 시간 복잡도 탐색 내부적으로 Object[] 배열로 구현이 되어있기 때문에 인덱스를 통해 접근이 가능합니다. 따라서 O(1)의 시간 복잡도를 가집니다. 삽입 배열의 첫 번째와 중간에 추가하고자 하는 경우 N개의 데이터를 재 정렬해야 하기 때문에 O(n) 만큼의 시간 복잡도를 가질 것으로 예상되며, 마지막에 추가하고자 하는 경우 O(1) 만큼의 시간 복잡도를 가지지 않을까 싶습니다. 삭제 배열의 첫 요소와 중간 요소를 삭제하는 경우 ..
Doubly Linked List 단일 연결 리스트는 하나의 노드에 데이터와 다음 노드를 가리키는 노드만을 가지고 있었다면 이중 연결 리스트는 여기서 하나더 추가되어 이전 노드를 가리키는 노드도 추가되어 있습니다. 이중 연결 리스트가 단일 연결 리스트에 비해 좋은 점은 검색 능력입니다. 단일 연결 리스트의 경우 N 번째에 있는 노드를 검색하기 위해서는 이전 노드를 아는 경우는 O(1)의 성능을 가지지만 이전 노드를 모르는 보통의 경우에는 N만큼을 순회해야 하기 때문에 O(n)이 소요됩니다. 하지만 이중 연결 리스트의 경우 이전 노드를 참조하는 변수를 가지고 있기 때문에 단일 연결 리스트에 비해 효율적인 탐색이 가능합니다. Doubly Linked List 구현 💡 구현하고자 하는 메서드 아래 메서드는 기..
Linked List 💡 Linked List란? Linked List란 각 노드가 데이터와 포인터를 가지고 있는 자료구조입니다. 데이터를 담고 있는 각 노드들은 포인터를 통해 이전 노드와 다음 노드를 연결하고 있고, 데이터를 추가하거나 삭제할 때 포인터의 주소값만 변경이 발생하므로 데이터 삽입/삭제 시 용이합니다. 반면 ArrayList인 경우 중간에 데이터를 삽입/삭제 시 전체 인덱스가 한 칸씩 뒤로 밀리거나 당겨지므로 Linked List에 비해 성능이 떨어집니다. 또한 Linked List는 인덱스가 없기 때문에 특정 요소에 접근하기 위해서는 순차 탐색이 필요하므로 탐색 속도가 늦어진다는 단점이 있습니다. 반면 Array List는 인덱스가 있기 때문에 특정 요소에 접근하기 용이합니다. 💡 Lin..
RabbitMQ를 사용하여 알림 발송하기 1편 Spring Boot - RabbitMQ를 사용하여 알림 발송 1편 ApplicationEventPublisher란? 이벤트 리스너는 발생된 event에 반응하고 이벤트 리스너는 발생된 event를 전달받아 이벤트에 담긴 데이터를 기반으로 특정한 기능을 수행합니다. 🤔 왜 ApplicationEventPublishe kdg-is.tistory.com 지난 이야기 지난 이야기에서는 RabbitMQ를 사용하여 특정 클라이언트가 회원가입을 완료했을 경우 알림을 보냈습니다. 하지만 알림을 데이터 베이스에 저장하는 상황에서 예외가 발생하다면 어떻게 대처할 것인가에 대해서는 설명하지 않았습니다. 이번 편에서는 어떻게 대처할 수 있을까에대해 알아보겠습니다. 필자가 설명하..
- Total
- Today
- Yesterday
- polling publisher spring boot
- 공간 기반 아키텍처
- pipeline architecture
- 서비스 기반 아키텍처
- 람다 표현식
- 자바 백엔드 개발자 추천 도서
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 레이어드 아키텍처란
- spring boot redisson 분산락 구현
- pipe and filter architecture
- spring boot excel download oom
- transactional outbox pattern spring boot
- service based architecture
- JDK Dynamic Proxy와 CGLIB의 차이
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redisson sorted set
- space based architecture
- java ThreadLocal
- spring boot 엑셀 다운로드
- redis sorted set
- transactional outbox pattern
- redis sorted set으로 대기열 구현
- spring boot redisson destributed lock
- redis 대기열 구현
- microkernel architecture
- spring boot excel download paging
- java userThread와 DaemonThread
- spring boot poi excel download
- @ControllerAdvice
- spring boot redis 대기열 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |