Java

Java is a general-purpose, class-based, object-oriented programming language. Over the years, it has evolved from humble beginnings to power a large share of today’s digital world, by providing the reliable platform upon which many services and applications are built. This roadmap would help you as a developer to get started on learning about Java programming language.

To make your journey easier, pick a path

Bash-Linux Commands

Mark as done

Done

Bash-Linux Commands

Understanding basic command lines for bash-linux command processors should be the starting point. Bash is a command processor that typically runs in a text window where the user types commands that cause actions. Learn more about this using the resources below.

Linux Command Line Basics

Linux Command Line for Beginners

Beginner to Expert: Linux Command Line Full Course

Linux Mastery: Mastering the Command Line

GitHub Fundamentals and Git Basics

Mark as done

Done

GitHub Fundamentals and Git Basics

GitHub is the largest online software development platform used for storing, tracking, and collaborating on software projects. Git on the other hand, is a free and open-source version control system and DevOps tool used for source code management. Learn how to use Git and GitHub efficiently to manage your personal and professional software development projects.

Git Beginner Tutorial

Introduction to Git & GitHub - Coursera

The Ultimate GitHub Course - Udemy

Conditionals and Loops

Mark as done

Done

Conditionals and Loops

A conditional statement is an expression that produces a true or false result. Loops repeats a set of instructions for many number of times. Learn more.

Conditionals - Free Interactive Java Tutorial

Java Programming - Conditional Statements

Java Loops Tutorial

Conditionals and Control Flow Cheatsheet

Java For Loop with Examples optional

Introduction to Loops in Java optional

HTTP / HTTPS

Mark as done

Done

HTTP / HTTPS

The Hypertext Transfer Protocol (HTTP) is an application layer protocol designed to transfer information between networked devices. Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol. It is used for secure communication over a computer network. Learn more.

HTTP Documentation

What is HTTP?

What is HTTPS? Definitions and Workings

HTTP vs HTTPS: Difference between Both

What is HTTP Protocol optional

Data Structures and Algorithms

Mark as done

Done

Data Structures and Algorithms

A data structure is a named location that can be used to store and organize data. An algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow one to write efficient and optimized computer programs. Learn more.

Data Structures and Algorithms using Java

Understanding Data Structures and Algorithms in Java

Data Structures and Algorithm PDF optional

Data Structures and Algorithms for Beginners optional

Data Structures and Algorithm Bootcamp

Data types, variables

Mark as done

Done

Data types, variables

A data type is an attribute of a variable which tells the compiler or interpreter how the programmer intends to use the variable. Variable in Java is a data container that saves the data values during Java program execution. Learn more.

Java Data Types

Java Tutorial - Basic Data Types and Variables

Variables in Java

Introduction to Variables in Java

Functions/Methods

Mark as done

Done

Functions/Methods

The word "method" in Java refers to the same kind of thing that the word "function" is used for in other languages. Basically, a "method" is a function that belongs to a class. A function is a reusable portion of a program, sometimes called a procedure or subroutine. Learn more.

Functions - Free Interactive Java Tutorial

Java Methods with Examples

What are Methods, Functions and Procedures?

Defining Functions and Methods

Working with files

Mark as done

Done

Working with files

A file is a named location that can be used to store related information. Learn more about this in the resources below.

Java Files with Examples

File Handling in Java

Working with Files in Java optional

APIs

Mark as done

Done

APIs

In Java, APIs (Application Programming Interface) are a collection of packages that programmers can import into their programs. Learn more from the resources below.

What is Java API and Its Advantages

APIs in Java

How Does APIs in Java Work

Java API Tutorial for Beginners

OOP (Object Oriented Programming)

Mark as done

Done

OOP (Object Oriented Programming)

OOP stands for Object-Oriented Programming. It is a programming paradigm where everything is represented as an object. Learn more.

Java OOP (Object Oriented Programming)

Object Oriented Programming Principles in Java

Object Oriented Programming in Java

Interfaces

Mark as done

Done

Interfaces

In Java, an interface is an abstract type that is used to specify a behavior that classes must implement. Learn more.

Java Interface Tutorial

Learn Interfaces in Java

What are interfaces in Java? optional

Classes

Mark as done

Done

Classes

A class, in Java, is a template used to create objects and to define object data types and methods. Learn more.

Java Classes and Objects

Java Classes and Objects Explained

Understanding Java Classes & Objects optional

Java Class and Objects with Examples

Exception Handling

Mark as done

Done

Exception Handling

In Java, Exception Handling is an effective means to handle runtime errors so that the regular flow of the application can be preserved. Learn more.

What is an Exception?

Exception Handling in Java

Java Exceptions - Try, Catch

Fundamentals of Exception Handling optional

Packages

Mark as done

Done

Packages

In Java, packages are used to organize and group related classes. Learn more.

Packages in Java and How to use them

How to Create and Use Packages in Java

Packages in Java Tutorial

A Tutorial on Java Packages optional

JVM

Mark as done

Done

JVM

A Java virtual machine is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. Learn more.

How JVM Works

JVM Architecture Explained

Java Virtual Machine Tutorial optional

Java JDK, JRE & JVM Explained

Streams

Mark as done

Done

Streams

In Java, a Stream can be defined as a sequence of elements from a source. The source of elements here refers to a Collection or Array that provides data to the Stream. Learn more.

Java Stream API with Examples

Stream in Java

Java Streams Tutorial

Threads

Mark as done

Done

Threads

In Java, a thread can simply be defined as the path followed when executing a program. Learn more.

Introduction to Threads

Multithreading in Java

Basics: All About Java Threads

Java Generics

Mark as done

Done

Java Generics

Java Generics allows us to create a single class, interface, and method that can be used with different types of data (objects). Learn more.

What are Generics in Java

Java Generics Explained

Getting Started with Generics in Java

Java Generics Tutorial optional

Networking and sockets

Mark as done

Done

Networking and sockets

In Java, Networking is a concept of connecting two or more computing devices together so that we can share resources. A socket in Java is one endpoint of a two-way communication link between two programs running on the network. Learn more.

Java Networking Tutorial

Java Socket Programming

Understanding Socket Programming in Java

Networking with Java optional

All You Need to Know on Socket Programming optional

Serialization

Mark as done

Done

Serialization

In Java, Serialization is the conversion of the state of an object into a byte stream. Learn more.

Introduction to Java Serialization

What is Serialization?

Object Serialization in Java

Serialization and Deserialization

Memory Management

Mark as done

Done

Memory Management

In Java, Memory Management is the process of allocating and deallocating memory to java objects. Learn more.

Master Guide to Java Memory Management

Understanding Memory Management

Memory Management - Java Stack vs Heap

Java Memory Management and Garbage Collection optional

Collection framework

Mark as done

Done

Collection framework

The Java collections framework works more as a library than a framework and is basically a set of classes and interfaces that implement commonly reusable collection data structures. Learn more.

Introductions to Collections

Collections Framework in Java

Java Collections Framework

Collections Framework Full Course optional

Garbage collection

Mark as done

Done

Garbage collection

This concept ties in with Memory Management from before. Java garbage collection is the process by which Java programs perform automatic memory management. Learn more.

What is Garbage Collection?

How Does Garbage Collection work in Java

Understanding Garbage Collection in Java with Animations Discussions

Choosing a Garbage Collector in Java optional

Apache Maven

Mark as done

Done

Apache Maven

Apache Maven is a build automation tool used primarily for Java projects. Learn more.

Maven Introduction

Building Java Projects with Maven

Introduction to Maven in Java optional

Core Concepts of Maven Explained

Learn Maven from Scratch - Full Course optional

Gradle

Mark as done

Done

Gradle

Gradle is a build automation tool for multi-language software development. Learn more.

What is Gradle?

Building Java Project with Gradle

Why you should use Gradle and how to get started

Gradle Tutorial for Beginners optional

Apache Ant

Mark as done

Done

Apache Ant

Apache Ant is a software tool for automating software build processes. Learn more

Hello World with Apache Ant

Easy Explanation of Apache Ant in Java

What is the Apache Ant Build Tool?

Apache Ant Tutorial optional

Got feedback?