The things I love from Java are:
- Static typing: I love when variables do not change type and types are checked at compile time.
- Powerful Integrated development environments with code completion and inline error checking like Eclipse.
- Speed. Java is not significally slower than C but is much less programming error prone.
- Structured and correct Application programming interface.
- Correct String based manipulation APIs for Unicode text. I have still not seen a "scripting" language that manages strings correctly with its encoding and differentiates correctly a string from a byte buffer.
- Opensource OpenJDK