A linked list is a linear data structure where elements (nodes) are linked in sequence, with the first element as 'head' and the last as 'tail'. Java's LinkedList class provides various methods for adding, accessing, changing, and removing elements, as well as supporting different types of linked lists such as singly, doubly, and circular linked lists. Each type of linked list has distinct characteristics and traversal mechanisms, with specific examples provided for each implementation.