One thing I have noticed with Hyperthreading is that comparing on a multiprocessor system, the time taken to compile byte-codes is much faster (like 10x faster). Of course, you can just put on -Xbatch and then HotSpot's compiler runs in the foreground, which is more efficient. Basically, if the main thread is on 1 CPU and HotSpot is on the 2nd, then the communication overhead between the threads slows the optimisation down a bit. With Hyperthreading, the optimiser runs on the same CPU as the main thread, so is more efficient.
How much effect Hyperthreading has is highly dependant on your benchmark - with some server benchmarks, a 50% boost is possible, but this is rare.
btw, the latest Pentium 4 (Prescott) has a much longer pipeline making it even less suitable for server work, or more complex code in general. If you want a good development or runtime platform for Java, I'd suggest getting an Opteron or Athlon 64.
If you want more of an introduction to multi-core chip designs (like what Sun is working on), then read my recent article http://www.aceshardware.com/read.jsp?id=60000312