Re: Which JVM to use under Windows?



In article <77203e2e3162e@uwe>, "Andrew Thompson" <u32984@uwe> wrote:
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.

I am talking about Windows environment at the moment.

Do you happen to know which exact file is the JVM
for Windows? (I have downloaded jdk 6 as of february 2007.
File jdk-6-windows-i586.exe).
Do you happen to know if it has JVM?
Sorry, but there is just too many things that are goning
on at the moment, and I find it a pain on the neck to find
things as released by Sun. I even spent nearly half an hour
last night trying to find the JVM for Windows on Sun's site
with no luck.

Do you happen to know the exact link to it?

I am running Windows XP SP2. Do not recall what I had to do
to install JVM or it was already provided. I lost my main
drive with several partions that had all these things.
Need to dig up from backups.

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.

Well, the target platform is Windows at the moment.
We have to live with what we have.

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..

I do not even understand what they mean by
"not supported" or "obsolete".

When I build an app, I like to build it for the
oldest working version possible. In Windows
environment, I have no control of which JVM/MVM
is installed on end user's box.

But the app is coded so it is guaranteed to run
under ANY version of JVM/MVM. Some issues like
threads and synchronization did work out just
fine. User interface is working perfectly well
by staying within AWT alone and not using swing.
There is simply no need for it and there are
too many variations out there, creating all sorts
of compatibility problems.

So, when someone says "obsolete", does it mean
that the app, built to not utilize anything
fancier than jdk 1.3, is somehow not going to
work on a target platform?

Do they mean that if you get the latest JVM,
your app may not even run?
:--}

Did they take out AWT functionality in their
current versions? Because if they did, that
would probably be the last nail in the Sun's
coffin.

The issue is extreme. Microsoft does not
support swing, and, from what I recall,
it only supports jdk 1.3.

Which means it is a deadly battle between
Sun, Microsoft, Borland and others.

The development environments are totally
different. The apps in Sun/Borland worldview
can not even be built as an .exe file to
be run under windows.

Visual Studio does build the executables.
And that is EXACTLY what Windows users
know about. Typing "java -bunch of flags ..."
from the Start-> Run dialog is simply insane
in the Windows world view.

Microsoft does not support CLASSPATH and
they explicity state that fact.

But what all the developers have to do
to make sure their apps can run on 90+%
of all the computers out there?

Can you provide some references on this issue?

So, some of the players in the Java world
would have to vanish. Microsoft does not
fight the loosing battles. They'll lock
their horns and will pull out the joker card
at the end, which is over a generation of
development work in all sorts of languages,
technologies, development environment,
operating system, networking, distributed
processing, and all sorts of other things.

Do you think Sun can match that card?
How?

--

Get yourself the most powerful tool for usenet you ever heard of.

NewsMaestro download page:
http://sourceforge.net/project/showfiles.php?group_id=203356

Web page:
http://tarkus01.by.ru/

Note: You need to have JVM (Java Virtual Machine)
installed. Otherwise, the program won't run on some versions
of Windows. Just try to run the program and if you see the
main window, it means you do have it installed already.

Otherwise, a quick search on the Internet will find it
easily. The file size should be around 5 megs.

JVM is available in Microsoft or Sun (original creator
of Java language) versions.

You can visit sun.com to get it.

Or, you can try this one for starters:

http://www.java-virtual-machine.net/download.html

It should have links to sites that have it, I believe.
.