volatile (1) 썸네일형 리스트형 JAVA에서 volatile란 무엇인가!? 캐싱을 해야하는 새로운 기능을 개발하는 작업중에 만난 누군가가 작성한 아래의 코드를 보면 volatitle이라는 키워드로 선언한 변수가 있다. volatitle이 뜻하는 바는 무엇인가? 이는 자바 코드의 변수를 '메인 메모리에 저장'할 것을 명시할 때 사용된다. 멀티 쓰래드 어플리케이션에서 각 쓰래드들은 성능적이 이유로 메인 메모리로 부터 변수를 읽어 CPU 캐시에 복사하고 작업하게 되는데 이 키워드를 명시한 변수는 컴퓨터의 메인 메모리로 부터 읽히고 변수에 대한 쓰기 작업은 메인 메모리로 직접 이루어진다. volatile를 선언하지 않은 변수들은 어느 시점에 JVM이 메인 메모리로 부터 데이터를 읽어 CPU 캐시로 읽어 들이거나 혹은 CPU 캐시들에서 메인 메모리로 데이터를 쓰는지(write) 보장해 .. 이전 1 다음