No idea exactly what's happening inside, but we've had _very_ bad experiences with Sun's 1.4 JDK. For a start, we ran the hard way into the bug with the different ID's between classes compiled with and without debug info. Worse yet, in certain cases hard-coding the UID (the Sun suggested work-around for that screw-up) didn't fix the problem but created more insidious problems when the class was changed by someone else and _did_ need a new UID. Problems like getting back a data object with null fields where a null shouldn't have even been possible.
Either way, based on my own benchmarking, I'd strongly suggest that you download IBM's 1.3.0 or 1.3.1 and stick to that.
The only downside to using 1.3.0 is that JPDA doesn't seem to get activated the same way as for Sun's JDK. (Or maybe not at all?) I.e., you can't debug EJB's on that server. But then again, you _really_ don't want to run a production server with JPDA enabled, because the performance hit is nothing short of hideous.