The strengths of the Java platform include:
Java Virtual Machine
Java source code is compiled into Java bytecode. A Java Virtual Machine (JVM) provides an environment to execute Java bytecode. The JVM is a core component of the Java platform and has the following attributes:
- Mature - The first beta versions of the JVM were released by Sun Microsystems (later acquired by Oracle) in 1995 with the first stable versions released in 1996. Continued development has lead to increased stability and performance. The implementation of JVMs by other vendors (e.g. IBM) has introduced more choice. Today, JVMs form a key component of many companies technical architecture - including Facebook, Twitter and Google.
- Secure - As Java bytecode is executed within the JVM, rather than directly against the operating system, the JVM is able to enforce the runtime checks mandated by the Java specification. Some potentially damaging behaviour that can be caused by standalone applications are not permitted by applications running within a JVM (e.g. accessing an index of an array that is greater than the array's actual size).
- Efficient - Early versions of the JVM continuously interpreted Java bytecode which made Java applications perform significantly slower than native code. However, the inclusion of various optimisation techniques in modern JVMs has greatly increased performance. A major improvement of the execution speed of Java applications was the introduction of "Just-In-Time" (JIT) compilation. At runtime the JIT compiler compiles bytecode into native machine code and caches the result so it can be reused.
- Multi platform - JVMs are available for a range of operating systems. The phrase "write once run anywhere" is often used in association with Java to describe how the same Java bytecode can be run on different JVMs, on different hardware and software platforms.
- Automated exception handling - Rather than "crash" the operating system, errors caused by an application running in a JVM generate an exception. The exception contains information on the type of problem and where it occurred. The application can then "catch" the exception and recover from it.
- Multi threaded - JVMs provide support for applications to be multi-threaded. Threads allow separate tasks to be processed in parallel.
- Automatic Garbage Collection - When the JVM identifies that an object is no longer accessible from a live thread the object is automatically garbage collected to allow the memory allocated for storing the object to be freed for re-use.
The JDK includes a number of documented APIs (e.g. the collections API) that can be used by your own programs to accomplish a range of tasks. There are also a large number of open-source libraries that extend the functionality provided by the "core" JDK libraries.
There are a range of tools available to Java developers to support them in the software development process including:
- integrated development environments (e.g. Eclipse)
- application servers (e.g. Tomcat, jBoss)
- build and repository management (e.g. Ant, Maven)
- continuous integration servers (e.g. Jenkins)
- software quality assessment (e.g. FindBugs, Sonar)
- application profiling (e.g. YourKit)
Java continues to be actively developed. Version 7 was released in July 2011 with version 8 planned for September 2013. As well as Oracle, other companies including Google and IBM contribute to the advancement of Java through the Java Community Process (JCP). 
Java is a popular choice for the implementation of "real world" business applications, the development of open-source projects and for both teaching and research at universities. As well as being a popular choice for server-side development, Java runs on more than 850 million personal computers and on mobile and TV devices. 
The maturity and popularity of Java means there are a range of resources available to anyone wishing to learn about it. Books are available for every skill level, from beginner to advanced, and covering the full spectrum of Java technology, from general best practices to specialised APIs. Documentation, tutorials and forums are freely available on the internet. Oracle offer training courses and official certification. Java User Groups (JUGs) are volunteer organisations that provide an opportunity to share Java-related knowledge. 
- Java Community Process members. - http://jcp.org/ja/participation/members/
- What is Java technology and why do I need it? - http://java.com/en/download/faq/whatis_java.xml
- Java User Groups. - http://www.java.net/jugs/java-user-groups