I'm starting to find some resources e.g. the golden spike by John Rose @ Sun and the JVM Languages Google Group. (there's some interesting stuff if you go back to the beginning of the group) It's good to know there's information out there (although these days that's almost a given) but the complexity of some of it is a little daunting.
Another C++ feature that doesn't port straight across is operator overloading. Not a big deal other than recognizing when it's used in the C++ code.
A Java annoyance - the duplication in statements like this bugs me:
C++ is similar but you notice it less because you can allocate on the stack with just:
And you can use typedef to make abbreviations so you can write:
Map hashmap = new Map;
Hah! Two days programming in Java and I'm already redesigning the language! Here's my proposed shortcut (syntactic sugar):
On the positive side, writing a multi-threaded socket server seems a lot simpler in Java than in C++. It didn't hurt that one of the books I found at the bookstore was TCP/IP Sockets in Java.