Advantages
- Good portability
- Large base of existing libraries and tools
Disadvantages
- Requires the Java Virtual Machine to be installed
- Lower performance and higher resource usage than native code
Components
- AWT
- Swing
- Java2D
- JDBC
- JNDI
- RMI
- JNI
- JavaBeans
Development tools
- Eclipse
- NetBeans
Versions
- Java Standard Edition (SE) – for general purpose computers (PCs)
- Java Micro Edition (ME) – for embedded systems (for example mobile phones)
- Java Enterprise Edition (EE) – for enterprise client-server applications
- Java Card – for smart cards