tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: Anyone????? intermittent Invalid padding tomcat6.x axis 1.4 jdk 1.5 linux
Date Fri, 03 Sep 2010 15:49:37 GMT
Caldarale, Charles R wrote:
>> From: Michele Mase' [] 
>> Subject: Re: Anyone????? intermittent 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:
For additional commands, e-mail:

View raw message