I don't have a strong opinion because, as you said, in most cases the flag
will be irrelevant.

Jacopo

On Thu, Jun 9, 2016 at 7:28 PM, Jacques Le Roux <
[email protected]> wrote:

> Hi,
>
> I was reading  "Java Concurrency in Practice" (again!) when I (again!)
> stumbled upon the 6th footnote p. 38 (my edition is from 2011)
>
> You can find a summary at
> https://www.goodreads.com/work/quotes/123207-java-concurrency-in-practice
> :
>
> “Debugging tip: For server applications, be sure to always specify the
> -server JVM command line switch when invoking the JVM, even for
> development and testing. The server JVM performs more optimization than
> the client JVM, such as hoisting variables out of a loop that are not
> modified in the loop; code that might appear to work in the development
> environment (client JVM) can break in the deployment environment (server
>  JVM)...(more explanation and examples)”
>
> Since this book was written in 2006 for Java 5, I checked what the
> situation is with Java 8
>
> http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#compiler_types
>
> http://blog.sokolenko.me/2014/11/javavm-options-production.html#make-server-a-server
>
> Oracle says
>
> “Since Java SE 5.0, with the exception of 32-bit Windows, the server VM
> will automatically be selected on server-class machines. The definition of
> a server-class machine may change from release to release, so please check
> the appropriate ergonomics document for the definition for your release.
> For 5.0, it'sErgonomics in the 5.0 Java[tm] Virtual Machine <
> http://www.oracle.com/technetwork/java/ergo5-140223.html>.”
>
> Hence Sokolenko's comment:
>
> “Though this option is implicitely enabled for x64 virtual machines, it
> still makes sense to use it as according to documentation behaviour
> maybe changed in the future.”
>
> So this is still true and I wonder if we should not add this option (and
> some others, see Sokolenko's link above) in some ant targets like "start"
>
> Opinions?
>
> Jacques
>
>

Reply via email to