Bytecode to native. I've been noticing that Sun's Windows Java implementation takes a VERY long time to start, and my guess is that they're compiling the whole program before running it - which would explain the long start time.
The way I'd really want it to work is a hybrid of the two: Allow flagging of specific components to be "pre-compiled" on launch, if you don't want any lag for those components, and let the rest be compiled on the fly. CLR doesn't allow for that - everything is compiled on the fly, as near as near as I can tell.