The -Xfuture option was added in Java 1.3 to enable stricter checks on class file
formats, in anticipation of these checks becoming the default in a future version
of Java. Without -Xfuture, the checking of the class file is no stricter than the
checks present in Java 1.1. Sun Microsystems, and later Oracle, recommended
that -Xfuture be used with all new code to ensure it passes the stricter checks
that would become the default in the future.
However in practice these checks were not implemented, and the -Xfuture
argument has only the effect of passing -Xverify:all to the JVM.
As of Java 17 the -Xfuture option is deprecated. It may be removed in a future
-Xfuture is off by default.
When -Xfuture is used with Java 17 or above, the following warning message is
Warning: -Xfuture option is deprecated and may be removed in a future release.
Arguments Related to -Xfuture:
TODO: link to -Xverify
• Deprecation of the -Xfuture option
If you have additional comments, interesting experiences or even point of disagreement with this JVM argument description, please leave a comment. Your
insights will help the entire 10+ million java developer community to develop
one standard source of documentation for all the JVM arguments.