JVM1 CPU L1, L2 캐시와 자바 volatile 캐시는 프로세서 내부에 있는 빠른 메모리로, 일반적으로 L1 캐시와 L2 캐시가 있습니다. L1 캐시는 프로세서 코어에 직접 연결되어 있으며, L2 캐시는 코어들 사이를 공유하는 공유 버스에 연결되어 있습니다. 캐시는 메모리보다 훨씬 빠르지만 용량은 작습니다. 반면에, 메모리(RAM)는 CPU보다 느리지만 용량이 크기 때문에, 프로그램에서 사용하는 데이터를 모두 캐시에 저장할 수 없습니다. 때문에, 프로그램이 변수를 읽거나 쓸 때, 해당 변수의 값을 캐시에서 읽어오거나 캐시에 저장할 수도 있습니다. 자바에서 volatile 키워드는 이러한 캐시와 메모리의 동기화를 보장하는 역할을 합니다. volatile 키워드가 붙은 변수는, 쓰기가 발생하면 해당 변수의 값을 바로 메모리에 써넣습니다. 또한, 다른 코어.. 2023. 2. 18. 이전 1 다음