Java : volatileと-serverオプション

下の件、違いを確認できたよ。

java -server Test2

として実行してやると、volatileなしでは

lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=0
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=0
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=0
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=0
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=0

volatileありでは

lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=1843694
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=2608278
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=1363754
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=2553598
lethevert@lethevert-svr:~/dev/java/MultiThreadTest$ java -server Test2
count=1868826