Java EE 개발자는 항상 -server 옵션을 켜 두는 것이 좋다.


Java EE 개발자는 항상 -server 옵션을 켜 두는 것이 좋다.

JVM에 -server 옵션을 지정하면 일반적인 상태(client 상태)보다 더 많은 최적화 방법을 동원하는데, 예를 들어 반복문 내부에서 전혀 값이 바꾸지 않는 내용을 반복문 밖으로 빼내는 등의 최적화 작업이 일어난다. 따라서 -server 옵션을 지정하지 않은 상태로 개발이나 테스트 과정을 진행하고 실 서버에 적용할 때에만 -server 옵션을 지정하면, 프로그램이 예상했던 대로 작동하지 않을 가능성이 있다. 여기 나온대로 개발자는 항상 운영 환경과 동일한 VM 설정을 해야한다. 같은 Java 코드라도 -server 냐 -client 냐에 따라 최적화 방식이 달라지고 코드가 다르게 작동한다. 이와 같은 현상에 대해 Effective Java 2nd ed. Item 66 에서도 다루고 있다. -client와 -server 옵션에 따라 코드의 해석이 달라지고 행동도 달라진다. 따라서 되도록 테스트 WAS를 띄울때 -server 옵션을 주고 띄워야 한다. (운영 서버는 항상 -serv...



원문링크 : Java EE 개발자는 항상 -server 옵션을 켜 두는 것이 좋다.