Qbert: I will try to answer a couple of your questions about Java and Linux. I work for a small software company doing (recently) mostly Java programming, both CLI and GUI applications. All the developers choose Linux as development platform, and let me tell you developing Java on Linux is great (did I mentioned that XEmacs + JDE rulez).
How about running ? Well, do I keep an eye on the open source alternatives to Sun's Java I don't find them very usable yet, so for the moment we are left with Sun's and IBM's implementation. Both work very well, and in the recent time I started noticing that there are some serious performance improvements. Sometime I even have the feeling that on Linux Java is more speedy than on the Win test box. Java (at least the CLI part) on Linux servers is reliable. We run about 3 Java daemons on our servers which provides the support for continuous integration through CruiseControl and they work 24/7 without many incidents.
What about the GUI? That Java GUI (swing) sucks it's a matter of taste. I also was reluctant to running Java GUI applications, till one day. I considered to be a shame to call myself a Java programmer and have bad feelings about Java GUI without even bothering to try them. So I gave them a try. They work and most of the time can be a pleasent experience. The great memory consumption and high startup times will be solved IMHO in time. Also there is a lot to be done in the field. We are also working on a GUI application right now, and we used a couple of tricks in it. First we use SkinLF, so we are not forced to Metal any more (plus we can use Gnome and KDE themes) and a bit of antialiasing our application looks and works great. To be honest I preffer a Java application instead of no application and I preffer a god Java application instead of a bad native one.
IMHO the facts about Java and Linux are promissing, and if GCJ is going to work, we'll achieve two big goals (Open Source Java and native applications written in Java).