177 Topics
Getting started with Java Language Introduction Topic
Arrays Java SE 1.0–Java SE 9 (Early Access)
Arrays allow for the storage and retrieval of an arbitrary quantity of values. They are analogous to vectors in mathematics. Arrays of arrays are analogous to matrices, and act as multidimensional arrays. Arrays can store any data of any type: primitives such as int...
Streams Java SE 8–Java SE 9 (Early Access)
A Stream represents a sequence of elements and supports different kind of operations to perform computations upon those elements. With Java 8, Collection interface has two methods to generate a Stream: stream() and parallelStream(). Stream operations are either...
Lambda Expressions Java SE 8–Java SE 9 (Early Access)
Lambda expressions provide a clear and concise way of implementing a single-method interface using an expression. They allow you to reduce the amount of code you have to create and maintain. While similar to anonymous classes, they have no type information by...
Strings All Versions
Strings (java.lang.String) are pieces of text stored in your program. Strings are not a primitive data type in Java, however, they are very common in Java programs. In Java, Strings are immutable, meaning that they cannot be changed. (Click here for a more thorough...
Generics Java SE 5–Java SE 9 (Early Access)
Generics are a facility of generic programming that extend Java's type system to allow a type or method to operate on objects of various types while providing compile-time type safety. In particular, the Java collections framework supports generics to specify the...
Enums Java SE 5–Java SE 9 (Early Access)
Java enums (declared using the enum keyword) are shorthand syntax for sizable quantities of constants of a single class.
Common Java Pitfalls All Versions
This topic outlines some of the common mistakes made by beginners in Java. This includes any common mistakes in use of the Java language or understanding of the run-time environment. Mistakes associated with specific APIs can be described in topics specific to...
Exceptions and exception handling All Versions
Objects of type Throwable and its subtypes can be sent up the stack with the throw keyword and caught with try…catch statements.
Oracle Official Code Standard All Versions
Oracle official style guide for the Java Programming Language is a standard followed by developers at Oracle and recommended to be followed by any other Java developer. It covers filenames, file organization, indentation, comments, declarations, statements, white...
Collections Java SE 1.2–Java SE 9 (Early Access)
The collections framework in java.util provides a number of generic classes for sets of data with functionality that can't be provided by regular arrays. Collections framework contains interfaces for Collection, with main sub-interfaces List and Set, and mapping...
Optional Java SE 8–Java SE 9 (Early Access)
Optional is a container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value. Additional methods that depend on the presence of the contained value are provided, such as orElse(),...
Concurrent Programming (Threads) Java SE 5–Java SE 9 (Early Access)
Concurrent computing is a form of computing in which several computations are executed concurrently instead of sequentially. Java language is designed to support concurrent programming through the usage of threads. Objects and resources can be accessed by multiple...
Primitive Data Types All Versions
The 8 primitive data types byte, short, int, long, char, boolean, float, and double are the types that store most raw numerical data in Java programs.
Singletons All Versions
A singleton is a class that only ever has one single instance. For more information on the Singleton design pattern, please refer to the Singleton topic in the Design Patterns tag.
Interfaces All Versions
An interface is a reference type, similar to a class, which can be declared by using interface keyword. Interfaces can contain only constants, method signatures, default methods, static methods, and nested types. Method bodies exist only for default methods and...
Documenting Java Code All Versions
Documentation for java code is often generated using javadoc. Javadoc was created by Sun Microsystems for the purpose of generating API documentation in HTML format from java source code. Using the HTML format gives the convenience of being able to hyperlink related...
Installing Java (Standard Edition) All Versions
This documentation page gives access to instructions for installing java standard edition on Windows, Linux, and macOS computers.
Object Class Methods and Constructor All Versions
This documentation page is for showing details with example about java class constructors and about Object Class Methods which are automatically inherited from the superclass Object of any newly created class.
Inheritance All Versions
Inheritance is a basic object oriented feature in which one class acquires and extends upon the properties of another class, using the keyword extends. For Interfaces and the keyword implements, see interfaces.

