java의 volatile java변수를 Main Memory에 저장하겠다는 것이다. 이게 뭐냐...하면 말그대로 main memory에 값을 저장한다는거다. 사실 이거 이해하려면 cache에 대해서 조금 알고오면 편하다. 자바는 사실 값을 저장하거나 읽어올 때에 이거를 CPU cache를 통해 진행한다. 이렇게 되면 속도에 이득이 필요하지만... 멀티 쓰레드 환경에서 좀 문제가 있을 수 있다. 멀티 쓰레드에서의 CPU cache 문제 MultiThread에서는 보통 Task동안 Main Memory에 있는 값을 CPU에 Caching한다. 그리고 이거를 읽거나, 쓰거나 등등의 연산을 취하게 되는데 Main Memory에 특정 값이 저장되어 있다. (RyooChan = "Genius") 1번 쓰레드가 M..