Table of Contents

Requirements

  • Java Development Kit
  • Integrated Development Environment (IDE)
    • IntelliJ
    • Eclipse STS
  • MongoDB
    • MongoDB Server
    • Mongo Compass
    • Mongo Shell/CLI

Java Developer Kit

What is the Java JDK?

The Java JDK (Java Development Kit) is a software development kit for building applications in the Java programming language. It includes everything developers need to write, compile, and run Java applications.

What does the JDK include?

JVM (Java Virtual Machine).

The JVM is responsible for running Java applications. It interprets the compiled bytecode and executes it on the host machine.

JRE (Java Runtime Environment):

The JRE includes the JVM and standard libraries needed to run Java programs. It’s essentially the runtime portion of Java without the development tools.

Java Compiler (javac)

This tool compiles Java source code (.java files) into bytecode (.class files) that the Java Virtual Machine (JVM) can execute.

Development Tools

The JDK comes with a suite of tools, including a debugger (jdb), a packaging tool (jar), and other utilities that support the full software development lifecycle.

If you want to know more about other utilities, you can see:

  • The Java compiler (javac): Turns .java files into bytecode (.class files).
  • The Java launcher (java): Runs compiled Java programs.
  • Java Documentation (javadoc): Generates HTML documentation from Java source code with comments.
  • jar Creates and manages .jar (Java Archive) files.
  • The Java debugger (jdb): Helps you debug Java programs step by step.
  • jshell: An interactive REPL (Read-Eval-Print Loop) for quickly testing Java code.
  • javap: Disassembles .class files to show bytecode (useful for inspection).
  • jdeps: Analyzes dependencies between Java classes and packages.

Why do you need the JDK?

If you’re planning to develop Java applications, you need the JDK. It allows you to write, compile, and debug your code. If you only want to run existing Java programs, the JRE is enough, but the JDK is essential for any development work.

Java versions

You can have a look at the Oracle Java SE Support Roadmap

The premier support for Java 8 ended in March 2022, and for Java 11, it ended in September 2023. As we are taking this course in 2025, we will use the next Long-term Support (LTS) version, Java 17, as it will be supported until September 2026.

JDK Alternatives

To download the JDK from Oracle, we need to create an account and log in. If you don’t want to create an account and get your local setup quicker, you can download the following alternatives:

Installation:

  • Download the installer from one of the options listed above.
  • Run the installer.
  • Follow the instructions. The default options are recommended.
  • Check if JAVA_HOME environment variable has been set:
    •  So many programs like Maven or Gradle use this path to know where Java is installed
      • JAVA_HOME=path/to/jdk/folder eg: C:\Program Files\Java\jdk-17
  • Add Java to the PATH Variable
    • You need to add this to your system PATH:
      • Find the Path variable → Click “Edit”
      • Add a new entry: %JAVA_HOME%\bin
  • Once installation is complete, verify it by opening your terminal and typing on the terminal:
    • Open the terminal with the following steps:
      • Win + r > cmd
        • java -version
        • Verify that it is installed correctly. See the output example below
				
					C:\Users\technicastudio>java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
				
			

IDE Installation

IntelliJ

On this course, we are going to use IntelliJ as an IDE, you can follow the next guide to install it on your laptop.

https://www.jetbrains.com/help/idea/installation-guide.html

Spring Tools

Spring Tool Suite is a fork of the Eclipse project with additional functionalities that make development easier for coders. You can find more information on the link below.

https://spring.io/tools

Git

Git is a version control system — a tool that helps you track changes in your code (or any file), collaborate with others, and manage different versions of your project.

What is Git used for?

Git helps you:

  1. Track changes over time

    • You can see what changed, when it changed, and who made the change.

  2. Undo mistakes

    • Roll back to a previous version if something breaks.

  3. Work with others (collaboration)

    • Multiple people can work on the same project without stepping on each other’s toes.

  4. Experiment safely

    • Use branches to test new features or ideas without affecting the main code.

Here is the official website of Git:

https://git-scm.com/

To validate that git has been installed correctly you can run git –version on your terminal

				
					C:\Users\technica-studio>git --version
git version 2.30.0.windows.2
				
			

MongoDB Compass