Java is a high-level, platform-independent, object-oriented programming language originally developed by Sun Microsystems. Java is currently owned by Oracle, which purchased Sun in 2010.
Initial help
- New to Java - need help to get your first Java program running? See the Oracle Java Tutorials section on Getting Started.
Before asking a question, use the search box in the upper right corner to see if it has been asked before by others (we have many duplicates), and please read Writing the perfect question to learn how to get Jon Skeet to answer your question.
Background
Java is a high-level, platform-independent, object-oriented programming language originally developed by Sun Microsystems and released in 1995. Java is currently owned by Oracle, which purchased Sun in 2010.
Very few computers can run Java programs directly. Therefore the Java environment is normally made available by installing a suitable software component. For Windows computers, this is usually done by downloading the free Java Runtime Environment (JRE) from Oracle which allows the system to run Java programs. The easiest way to do this is from java.com.
Developers frequently need additional tools which are available in the free Java Development Kit (JDK) alternative to the JRE, which for Windows must be downloaded from Oracle and installed manually.
Note: Other vendors exist but usually have license fees. For Linux and other platforms consult the operating system documentation.
Most of the Java platform has been open sourced. The open source Java project is called OpenJDK. All major components of the platform are in open source, including the JVM (Java Virtual Machine), the Java compiler, and the class libraries.
More information:
Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Java source code is compiled to an intermediate form (bytecode instructions for the JVM) that can be executed with the java
command.
Beginners resources
- The Java Tutorials - Starts from scratch on Windows/Linux/Mac and covers most of the standard library.
Day to day resources
Advanced resources
- The Java Virtual Machine Specification
- The Java Language Specification
- Other languages that can be mixed with Java on JVM
Free Online Resources