Caldarale, Charles R wrote:
From: Michele Mase' [mailto:michele.m...@gmail.com]
Subject: Re: Anyone????? intermittent javax.net.ssl.SSLException: Invalid padding tomcat6.x axis 1.4 jdk 1.5 linux
For Chuck
Is Java really cross-platform?
Definitely - once the JRE is ported to the platform of interest. But down in
the guts of the JRE, there is a fair amount of platform-specific code, some
written in C++, some C, and some in Java. This is unfortunately necessary due
to the differing APIs and functional semantics of the various platforms;
consequently, different platforms may have different bugs. (Or problems on
just different CPU chips, such as the recent errors seen in certain String
methods when run on Intel CPUs with SSE 4.2 instructions enabled.)
let me re-explain this in ASCII graphics :
Machine Machine Machine
type A type B type C
JVM 1.6.x JVM 1.6.x JVM 1.6.x
for type A for type B for type C
\ | /
Java application code (*)
The Java application code (*) is perfectly cross-platform, in the sense that it should run
on any of the machines. That is because all the above JVM's will (or should) run the same
Java code in the same way.
In other words : the java application code does not "see" the real machine; it sees only
the "Java virtual machine" (JVM).
But the JVMs themselves are different, because they need to be specific to each
machine type.
That is the ideal goal of Java.
In the practice, it is 99.9% that way, but there can be small differences due to the
underlying platform (or to a bug in a JVM), that could make some Java code run a little
bit differently on each platform.
(*) of which the Tomcat code is one example, and your webapp is another example.
Tomcat just starts your webapp and gives it a certain environment. But it is the JVM
which "runs" your webapp.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org