Java Learning Notes — Telusko Core Java | Video 02
After understanding the basic introduction and history of Java in the first lesson, the next question for me was:
How do I actually set up Java on my computer and start writing programs?
This lesson focuses on the development environment required before writing Java code.
At first, I thought the setup would simply be:
Download Java → Install it → Start coding.
But while going through the lesson, I came across several terms that I needed to understand properly:
- Editor
- IDE
- VS Code
- JDK
- Java versions
- LTS
- PATH
javajavac
Some of these terms are easy to confuse when you're just starting.
So, just like I did for the previous lesson, I researched the concepts that were unclear to me and wrote down the explanations in a way that I would have liked to find as a beginner.
This article is based on my learning from the lesson along with additional resources I used to understand these concepts better.
What This Article Covers
In this article, I will answer six questions from Video 02:
- What does IDE stand for?
- What is the difference between an editor and an IDE?
- What does JDK stand for?
- What does LTS mean?
- Why might
javacfail even after Java installation? - Which two commands verify Java and the compiler?
For each question, I have included:
- A beginner-friendly explanation
- Examples where useful
- 🧠 An easy way to remember it
- 🎯 A short interview-ready answer
1. What does IDE stand for?
What I understood first
IDE stands for:
Integrated Development Environment
The name initially sounded more complicated than the concept itself.
An IDE is essentially a software environment that brings several tools needed for software development together in one place.
Instead of separately using a text editor, terminal, debugger, compiler, and other development tools, an IDE can provide many of these features together.
What can an IDE provide?
Depending on the IDE and programming language, it can provide features such as:
- Code editing
- Syntax highlighting
- Code completion
- Error detection
- Compilation
- Running programs
- Debugging
- Project management
- Testing
- Version-control integration
- Build-tool integration
So instead of constantly switching between different applications, many development activities can happen inside one environment.
Examples of Java development environments
Some commonly used tools in Java development include:
- IntelliJ IDEA
- Eclipse
- Apache NetBeans
- Visual Studio Code with Java extensions
There is an important distinction here, though.
VS Code is primarily a source-code editor, but its extensions allow it to provide many IDE-like features.
🧠 Easy to Remember
IDE = Integrated Development Environment
Think of it as:
One environment → multiple development tools
🎯 Short Interview Answer
IDE stands for Integrated Development Environment. It is a software environment that combines code editing with development features such as building, running, debugging, testing, and project management.
2. What is the difference between an editor and an IDE?
What I understood first
This was something I wanted to clarify because, as a beginner, many tools can look similar.
For example, I can write Java code in a simple text editor, VS Code, Eclipse, or IntelliJ IDEA.
So I wondered:
If all of them let me write code, what makes an IDE different from an editor?
The main difference is the amount of development functionality integrated into the tool.
What is a code editor?
A code editor mainly focuses on:
Writing and editing source code.
A basic editor can provide features such as:
- Text editing
- Syntax highlighting
- Search and replace
- Basic code completion
Its primary purpose is to help me create and modify source files.
What is an IDE?
An IDE goes beyond editing.
It tries to provide a more complete development workflow.
A simplified view is:
Code Editor
+
Build / Compile Tools
+
Debugger
+
Project Management
+
Testing
+
Code Analysis
So an IDE can help me write, build, run, debug, and test my application from one environment.
Where does VS Code fit?
This was particularly useful for me to understand.
VS Code is designed primarily as a code editor.
However, it has a large extension ecosystem.
With the appropriate Java extensions, VS Code can provide features such as:
- Java code completion
- Debugging
- Java project support
- Testing
- Maven and Gradle integration
- Java language support
So a modern code editor can become much more capable than a basic text editor.
That's why I wouldn't simply think:
Editor = basic
IDE = powerful
A better way to think about it is:
An editor primarily focuses on writing code, while an IDE provides a more integrated development workflow. Modern editors can gain many IDE-like capabilities through extensions.
🧠 Easy to Remember
Editor → mainly write and edit code
IDE → write + build + run + debug + manage
🎯 Short Interview Answer
A code editor mainly focuses on writing and editing source code, while an IDE integrates coding with features such as building, debugging, testing, project management, and code analysis.
3. What does JDK stand for?
What I understood first
JDK stands for:
Java Development Kit
The word Development is the important part for me to remember.
The JDK provides the tools and components needed to develop Java applications.
Since I want to write and compile Java programs, installing a JDK is one of the most important setup steps.
What does the JDK provide?
The JDK provides development tools for tasks such as:
- Compiling Java code
- Running Java programs
- Debugging
- Packaging applications
- Other development activities
One of the first tools I will use is:
javac
javac is the Java compiler.
For example:
javac Hello.java
The compiler takes Java source code and produces Java bytecode.
Conceptually:
Hello.java
↓
javac
↓
Hello.class
The .class file contains Java bytecode that can be executed by the JVM.
JDK and JVM are not the same thing
This distinction is important.
The JVM is responsible for executing Java bytecode.
The JDK provides the tools required for Java development, including the compiler.
A simple mental model is:
JDK
│
├── Development Tools
│
├── javac
│
└── Runtime Components
│
↓
JVM
This is a simplified beginner-level model, but it helps me keep the terms separate.
Why do I need the JDK?
If I only wanted to run an already compiled Java application, I wouldn't necessarily need the full development toolkit.
But if I want to:
- Write Java code
- Compile Java code
- Build applications
- Learn Core Java
then I need a JDK.
🧠 Easy to Remember
JDK = Java Development Kit = tools for developing Java applications
Also remember:
javac= Java compiler
🎯 Short Interview Answer
JDK stands for Java Development Kit. It provides the tools and components required to develop Java applications, including the Java compiler.
4. What does LTS mean?
What I understood first
When I started looking at Java downloads and versions, I noticed that there were many different versions of Java.
Then I saw another term:
LTS
LTS stands for:
Long-Term Support
This means that a particular Java release is intended to receive a longer support period compared with regular feature releases, depending on the JDK vendor and support arrangement.
Why are LTS releases important?
Imagine that a company is running a large banking application.
The company probably doesn't want to change its Java version every few months just because a new feature release is available.
It may prefer a version that provides a longer support period and a more stable foundation.
That's where LTS releases become particularly useful.
A simplified view is:
Regular Feature Release
↓
New features and improvements
↓
Frequent upgrades
LTS Release
↓
Longer support horizon
↓
Useful for long-term projects
This does not mean regular releases are bad.
They simply serve different purposes.
Some well-known Java LTS releases
Examples include:
- Java 8
- Java 11
- Java 17
- Java 21
- Java 25
However, the exact support duration depends on the JDK vendor.
So when choosing Java for a real project, I should consider:
- Project requirements
- Framework compatibility
- JDK vendor
- Support policy
- Security updates
- Organization requirements
What about Java 17 in this lesson?
The original lesson uses Java 17, which was an LTS release at the time of the recording.
That does not mean Java 17 is automatically the correct version for every new project today.
Java continues to evolve, so for a current project I should check the project's requirements and the currently supported JDK releases.
This is an important distinction between:
What the original lesson used
and:
What I should choose for a new project today.
🧠 Easy to Remember
LTS = Long-Term Support
Think:
LTS → longer support + long-term stability
🎯 Short Interview Answer
LTS stands for Long-Term Support. LTS Java releases are intended for users and organizations that prefer a longer support period instead of upgrading to every regular feature release.
5. Why might javac fail even after Java installation?
What I understood first
This is one of the most practical problems I can face while setting up Java.
Suppose I install the JDK successfully.
Then I open Command Prompt and run:
javac --version
But Windows says something like:
'javac' is not recognized as an internal or external command
My first thought might be:
"Java wasn't installed."
But that's not necessarily the problem.
The JDK may actually be installed correctly.
The problem may be that the operating system cannot find the javac executable.
What is PATH?
PATH is an environment variable that tells the operating system where to look for executable programs when I type a command.
For example, when I type:
javac
Windows needs to find:
javac.exe
The JDK normally contains Java development executables inside its bin directory.
Conceptually:
JDK Installation
↓
bin
↓
┌──────────┐
│ java.exe │
│ javac.exe│
└──────────┘
If the JDK's bin directory is included in PATH, I can run java and javac from the terminal without typing the complete file location.
What happens if PATH is not configured?
Suppose the JDK is installed here:
C:\Program Files\Java\jdk-XX
Its executables may be inside:
C:\Program Files\Java\jdk-XX\bin
If that bin directory isn't available through PATH, Windows may not know where to find javac.
So:
Terminal
↓
javac
↓
Search PATH
↓
JDK\bin
↓
javac.exe
If the JDK bin directory isn't found in PATH, the command can fail.
Why should I restart the terminal after changing PATH?
This is another small thing that can save a lot of confusion.
If I modify PATH while a Command Prompt or terminal is already open, that existing terminal may still have the old environment variables.
So after changing PATH, I should generally:
Close the old terminal and open a new one.
Then I can try again:
java --version
and:
javac --version
Other possible causes
If javac still doesn't work, I should also check:
- Whether the JDK was actually installed
- Whether the JDK's
bindirectory exists - Whether the correct directory was added to PATH
- Whether I opened a new terminal
- Whether I installed the correct operating-system/architecture package
- Whether I accidentally installed something that doesn't contain the development tools
🧠 Easy to Remember
If:
java --version
works but:
javac --version
doesn't, I should check:
JDK + PATH
And remember:
javaccomes with the JDK.
🎯 Short Interview Answer
javacmay fail even after Java installation if the JDK'sbindirectory is not available through PATH, the terminal has not been restarted after changing PATH, or the JDK installation is incorrect.
6. Which two commands verify Java and the compiler?
What I understood first
After installing Java, I need a simple way to check whether everything is working.
Fortunately, there are two commands I can remember.
Check the Java runtime
Run:
java --version
This displays the version associated with the java command.
For example, the output may look similar to:
java 25 ...
The exact output depends on the installed JDK distribution and version.
Check the Java compiler
Run:
javac --version
This checks whether the Java compiler is available.
For example:
javac 25
Again, the exact version depends on what I have installed.
Why should I check both?
Because they verify different commands:
java --version
↓
Java runtime command
javac --version
↓
Java compiler command
If both commands return a version, that's a strong indication that the JDK installation and PATH configuration are working correctly.
🧠 Easy to Remember
Just remember:
java --version
javac --version
And:
java → run
javac → compile
🎯 Short Interview Answer
java --versionchecks the Java runtime command, whilejavac --versionchecks the Java compiler.
🛠️ My Beginner Java Setup Flow
After going through this lesson, I would think about the setup in this order:
Choose a suitable JDK
↓
Install the JDK
↓
Install VS Code
↓
Install Java extensions
↓
Configure PATH if required
↓
Open a new terminal
↓
java --version
↓
javac --version
↓
Start writing Java
This makes the setup process feel much less confusing.
Instead of thinking:
"Java isn't working."
I can break the problem into smaller questions:
Is the JDK installed?
Can the terminal find
java?Can the terminal find
javac?Is PATH configured correctly?
Is VS Code configured to use the correct JDK?
That makes troubleshooting much easier.
⚠️ Common Beginner Problems I Want to Remember
JDK installed but javac is not recognized
Check whether the JDK's bin directory is available through PATH.
PATH was changed but the command still fails
Close the old terminal and open a new one.
Wrong JDK package was downloaded
Check the operating system and CPU architecture before downloading.
Confusing VS Code with the JDK
Remember:
VS Code → environment/editor for working with code
JDK → Java development tools
Installing VS Code alone does not install the JDK.
Confusing JDK and JVM
Remember:
JDK → development
JVM → execution
🧠 One-Minute Revision Sheet
If I need to revise this lesson quickly, this is what I want to remember:
IDE
↓
Integrated Development Environment
Editor
↓
Mainly for writing/editing code
IDE
↓
Editing + building + running + debugging + testing
JDK
↓
Java Development Kit
↓
Java development tools
↓
Includes javac
LTS
↓
Long-Term Support
PATH
↓
Helps the operating system find executables
java --version
↓
Check Java runtime command
javac --version
↓
Check Java compiler
🎯 6 Interview Questions — Super Short Answers
What does IDE stand for?
Integrated Development Environment.
What is the difference between an editor and an IDE?
An editor mainly focuses on writing and editing code, while an IDE integrates coding with features such as building, debugging, testing, and project management.
What does JDK stand for?
Java Development Kit. It provides the tools required to develop Java applications.
What does LTS mean?
LTS means Long-Term Support and refers to releases intended to receive longer-term support.
Why might javac fail after Java installation?
The JDK may not be installed correctly, or its
bindirectory may not be available through the system PATH.
Which commands verify Java and the compiler?
java --version
javac --version
What I Learned From This Lesson
The biggest thing I took away from this lesson is that setting up Java is not simply about downloading Java and clicking Install.
There are several pieces involved:
Java Development Setup
│
┌──────────────┼──────────────┐
↓ ↓ ↓
JDK VS Code PATH
│ │ │
↓ ↓ ↓
Development Write Code Find Java
Tools & Debug Commands
The JDK provides the tools I need to develop Java programs.
VS Code gives me a convenient environment for writing and working with my code.
PATH helps the operating system find commands such as java and javac.
Once these pieces work together, I am ready to move from setup to actual Java programming.
A Note for Other Beginners
If your Java setup doesn't work perfectly on the first attempt, don't panic.
A setup problem doesn't necessarily mean Java itself is broken.
Start with:
java --version
javac --version
Then check:
Is the JDK installed?
Is the JDK's
bindirectory available through PATH?Did I open a new terminal after changing PATH?
Did I install the correct package for my operating system and architecture?
Breaking the problem into smaller questions makes troubleshooting much easier.
📚 Related Java Learning Resources
This article is part of my Java Learning Notes — Telusko Core Java series.
If you are following the series from the beginning, you can start with the previous article:
👉 Java Introduction: 8 Questions I Had as a Beginner and Their Easy Answers
I also wrote a separate article while researching the history behind Java:
👉 Java Introduction: What Is Java, Who Created It, and How Sun Microsystems Became Oracle?
🔗 My Java Learning Notes
I am maintaining the complete structured notes and resources in my GitHub repository.
👉 Java Learning Notes — Telusko Core Java
The GitHub repository contains my concise learning notes and resources, while these DEV.to articles go deeper into the questions and concepts that I found confusing during my learning.
Final Takeaway
For me, the second lesson became much clearer once I separated the roles of the different tools:
JDK → gives me the tools to develop Java
VS Code → gives me a place to write and work with my code
PATH → helps my operating system find Java commands
And the two commands I never want to forget are:
java --version
javac --version
If both commands work, I have a good starting point for writing my first Java program.
Now that the environment is ready, the next step is finally the fun part:
Writing my first Java code.
This is part of my ongoing Java learning journey. I'm documenting what I learn, the questions I get stuck on, and the explanations that finally make the concepts click for me — hopefully they can help another beginner too.
Top comments (0)