Java

· Java
1. 동시성(Concurrency)이란? 동시성은 여러 스레드가 동시에 실행될 때 발생합니다. 각 스레드는 독립적으로 작업을 수행하지만, 때때로 공유 자원(예: 데이터베이스)에 접근할 필요가 있습니다. 이때, 올바른 동시성 관리 없이 여러 스레드가 동시에 같은 자원에 접근하면 데이터 무결성을 위협하고 예측 불가능한 결과를 초래할 수 있습니다. 동시성 문제를 해결하지 못하면 데이터 불일치, 교착 상태(Deadlock), 성능 저하 등의 문제가 발생할 수 있습니다. 정확하고 효율적인 데이터 처리를 위해 이러한 문제들을 관리하는 것이 필요합니다. 2. 원자성과 가시성 1) 원자성(Atomicity) 원자성은 어떤 작업이 '전부 아니면 전혀'의 상태로만 존재한다는 원칙입니다. 은행 계좌에서 돈을 이체할 때로 예..
· Java
Java의 ArrayList는 Array와 다르게 사이즈를 정해주지 않아도 데이터를 추가할 수 있습니다. 그렇다면 ArrayList는 어떻게 사이즈를 정해주지 않아도 데이터를 추가할 수 있는 것인지 알아보도록 하겠습니다. 1. add(e) Method의 구조 add(e) 메서드는 다음과 같이 구성되어 있습니다. add(e, elementData, size) add(e, elementData, size)는 실제로 요소를 추가하는 내부 메서드입니다. e : 추가될 요소 elementData : 요소들을 저장하는 내부 배열 size : 리스트의 현재 크기를 나타냅니다. elementData에 대해서 좀 더 알아보도록 하겠습니다. JavaDoc의 설명을 보면 다음과 같은 내용들을 확인할 수 있습니다. Arra..