Skip to main content

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

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

Free Online Resources

Code Language (used for syntax highlighting): lang-java