- CPU 레지스터, 캐시, RAM, 하드디스크의 메모리 계층 구조는 용량이 아래로 갈수록 증가한다. 🗄️
- 어플리케이션은 절대 주소를 사용하여 직접 메모리에 접근할 수 없고, 가상 메모리(Virtual Memory Space)를 통해 접근한다. 💻
- CPU 캐시는 CPU 속도를 높이기 위해 자주 사용되는 데이터를 미리 가져와 저장하는 역할을 한다. 📚
- 여러 CPU 코어가 동시에 캐시된 데이터를 사용할 때, 데이터 일관성 문제(캐시 일관성)가 발생할 수 있다. 💥
- 캐시 일관성 문제는 하드웨어 레벨에서 해결되며, JVM과는 무관하다. ⚙️
- 자바 메모리 모델(Java Memory Model)은 JVM 레벨에서 메모리 접근을 관리하며, 캐시 일관성 문제와는 별개로 동작한다. ☕
- 포인터를 사용하는 경우, 캐시 일관성 문제가 발생할 가능성이 높아진다. ⚠️