{{language programming paradigm|reflective}}[[runs on vm::java virtual machine| ]]
The '''Java''' programming language, developed by [[Sun Microsystems]], is a language aimed at allowing "high-performance", virtual application development.
Java source files (.java files) are typically [[Compiler|compiled]] to an intermediate [[bytecode]] (all platform) executable (.class files) and executed by a [[Java Virtual Machine]].
Most modern JVMs further compile the bytecode into your processor's native machine code during execution.
This native code translation is mostly done via a [[Just-In-Time|JIT]] compiler that is built in the JVM. Some Java compilers (such as [[GCJ]]) can compile Java code to native machine code ahead-of-time rather than just-in-time.
* Well supported by the [[open source]] community and commercial industry ([[Sun Microsystems|Sun]], [[IBM]], [[Oracle]], HP, BEA, [[Apple Inc]], etc.)
Java is used in a variety of environments including desktop applications, embedded device (PDA and wireless phone) applications, server-side web page serving applications (as [[Java Server Pages|JSP]]), and applets embedded in web pages.
There are a variety of arguments regarding Java's performance compared to other popular languages like [[C++]]. Some come to the conclusion that the programmer's choices make a bigger difference on performance in each language. Most show that each language is better than the other at specific types of operations (e.g. Java for memory allocation, C++ for numerical operations).
An extensive summary of comparisons between Java and C++ can be found [[wp:Comparison of Java and C++|on Wikipedia]].