Re: Which JVM to use under Windows?
Lew wrote:
Almond wrote:
Is there any reason to get "the latest and gratest?
in this case?
Many people have stressed the benefits of using the
latest production JDK to develop with. I agree with that
basic advice, but I recall you said earlier you were
developing for 1.3+.
If you are writing code intended to be run on an earlier
JVM, it is important to use the -bootclasspath (as well
as the other cross-compilation options) to ensure the
code is compatible with any earlier VM (even 1.5).
The -bootclasspath is significant to mention, in that
it requires you to have the runtime jar of that Java
version available to compile codes against.
The point that I am getting to is that while it is
best to develop with the latest JDK, it is also necessary
to have *access* to the version of JRE (or JDK) that
is the minimum that the code targets.
Usually depends on what you want to achieve. Normally I stick with a version
that is one step smaller.
I compile some code for 1.1 (legacy test applets,
designed to inform the unfortunate end user that
"The insecure, unsupported, obsolete MSVM must
be replaced to (do the interesting thing they came
to the page for) - also you might want to get rid of it,
just to protect your PC.", 1.3 (the introduction of
Java Sound into the J2SE), 1.4 when Swing actually
became stable enough to be widely useful, 1.5 (most
users) and 1.6 (just can't wait to have that, ..., and if
you want to it, get yourself the latest VM).
Not really a problem with the Sun JVMs. Stick with the current version (Java
6 as of this writing).
Some say that Microsoft's JVM is not as secure.
I would. The 3810 build of the MSVM ('Java' 1.1.4)
will happily show the root path of the JRE in an
untrusted applet. The Symantec 1.1.5 JRE will
not, nor will any Sun JRE.
That is the only 'security difference' that I have noticed
between the 3810 (the safest ever of the MSVM variants)
and other JRE's, but then, I did not go purposefully looking,
that is just one thing I noticed.
I'd recommend you to stay away from MS JVM. Not because it's M$ but because
it's way too old and doesn't support new features of Java specification
(i.e., version 1.4+)
I recommend you not call it a JVM. Didn't MS lose a lawsuit brought by Sun
because MS "Java" wasn't?
IANAL, but 'yes'. I refer to it simply as the MSVM.
And 1.4? Java 1.4 is entering its "end-of-life" phase - it is in hospice with
only months left.
yeah.. (shrugs) but given an app. that can easily*
be coded to support 1.4, will also support 1.5 or
1.6, why would you bother?
Lew, if the difference between releasing a 1.4 app.,
and a 1.5 app., were 10 lines of code, and a
compilation option, would you *still* recommend
releasing an app. intended for 'home users' as being
'1.5+'? (..just curious, really)
* This could be a huge issue, of course, if a later
Java version provides a core functionality of the
app..
--
Andrew Thompson
http://www.athompson.info/andrew/
Message posted via http://www.javakb.com