1. แแฌแแฝแฑ แแญแฏแกแแบแแฒ? (What You'll Need)
Before you can start writing Java programs, you need to set up your development environment. This involves installing and configuring several essential tools.
JDK
Java Development Kit - Compile & Run Java programs
Environment Variables
Configure system PATH for command-line access
IDE / Text Editor
IntelliJ IDEA, Eclipse, or VS Code for coding
Java programming แแฑแธแแญแฏแท แกแแผแฑแแถ แ แแฏ แแญแฏแแซแแแบ:
- JDK (Java Development Kit): Java compiler (javac) แแฒแท JVM แแซแแแบแแฒแท complete package แแซแ แแซแแพ Java code แแฝแฑ compile แแฏแแบแแผแฎแธ run แแญแฏแท แแแพแฌแแซแ
- Environment Variables: Computer แแญแฏ JDK แแแบแแพแฌ install แแฏแแบแแฌแธแแฒ
แแผแฑแฌแแฑแธแแแซแแแบแ แกแฒแทแแซแแพ command line (Terminal/CMD) แแแฑ
javac,javacommands แแฝแฑ แแฏแถแธแแญแฏแท แแแซแแแบแ - IDE (Integrated Development Environment): Code editor, debugger, compiler แ แแฌแแฝแฑ แ แฏแ แแบแธแแฌแธแแฒแท software แแซแ Notepad แแญแฏ simple editor แแแฏแแบแแฒแ professional development แกแแฝแแบ แแผแ แบแแซแแแบแ
2. JDK, JRE, JVM แแญแฏแแฌ แแฌแแฝแฑแแฒ?
Before installing, let's understand the difference between JDK, JRE, and JVM:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JDK (Development Kit) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ JRE (Runtime) โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ JVM (Virtual Machine) โ โ โ
โ โ โ - Executes bytecode โ โ โ
โ โ โ - Memory management โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ + Core Libraries (java.lang, โ โ
โ โ java.util, java.io, etc.) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ + Development Tools: โ
โ - javac (Compiler) โ
โ - javadoc (Documentation) โ
โ - jar (Archive tool) โ
โ - debugger โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1. JVM (Java Virtual Machine)
JVM แ แกแแผแฑแแถแแฏแถแธ component แแซแ Java bytecode (.class files) แแญแฏ execute แแฏแแบแแฒแท virtual machine แแซแ
- Bytecode แแญแฏ Machine Code แกแแผแ แบ แแผแฑแฌแแบแธแแฑแธแแแบ: Platform-specific machine code แกแแผแ แบ แแผแฑแฌแแบแธแแญแฏแท program แ แกแแฏแแบแแฏแแบแแซแแแบ
- Memory Management: Garbage Collection แแฒแท memory แแญแฏ แกแแญแฏแกแแปแฑแฌแแบ แ แฎแแถแแฑแธแแแบ
- Security: Bytecode verification แแฏแแบแแผแฎแธ malicious code แแฝแฑแแญแฏ แแฌแแฝแแบแแฑแธแแแบ
๐ JVM แ platform-specific แแผแ แบแแซแแแบแ Windows JVM, Mac JVM, Linux JVM แแ แบแแฏแแปแแบแธแ แฎ แแพแญแแซแแแบแ
2. JRE (Java Runtime Environment)
JRE = JVM + Core Libraries (java.lang, java.util, etc.)
- Java programs run แแฏแแบแแญแฏแท แแญแฏแแแบ: Already compiled แแผแ แบแแฑแแฒแท .class files แแฝแฑแแญแฏ execute แแฏแแบแแญแฏแท แแแซแแแบ
- Development แแแฏแแบแแฐแธแแญแฏ JRE แแฏแถแแฑแฌแแบแแแบ: End users แแฝแฑแ JRE แแแบ install แแฏแแบแแฏแถแแฒแท Java apps run แแญแฏแท แแแซแแผแฎ
- Core Libraries: String, ArrayList, File I/O แ แแฒแท built-in classes แแฝแฑ แแซแแแบแแซแแแบ
3. JDK (Java Development Kit)
JDK = JRE + Development Tools (javac, javadoc, jar, debugger)
- Java programs develop แแฏแแบแแญแฏแท แแญแฏแแแบ: Source code แแฑแธแแผแฎแธ compile แแฏแแบแแปแแบแแแบ JDK แแญแฏแแซแแแบ
- javac compiler: .java files แแฝแฑแแญแฏ .class bytecode แกแแผแ แบ compile แแฏแแบแแฑแธแแแบ
- Development tools: javadoc (documentation generator), jar (package tool), jdb (debugger) แ แแฌแแฝแฑ แแซแแซแแแบ
- JRE แแซแแซแแแบ: JDK install แแฏแแบแแแบ JRE แแฒแท JVM แกแแญแฏแกแแปแฑแฌแแบ แแซแแซแแแบ
๐ แแแบแกแแปแญแแบแแพแฌ แแฌแแฏแถแธแแแแฒ?
- Developer (Program แแฑแธแแแบ): JDK install แแฏแแบแแซ
- End User (Program run แแผแ แบแแแบ): JRE install แแฏแแบแแซ
- Server (Java apps host แแฏแแบแแแบ): JRE แแฏแถแแฑแฌแแบแแซแแแบ (production แแพแฌ)
3. JDK Installation (JDK Install แแฏแแบแแแบแธ)
Step 1: Download JDK
There are several JDK distributions available. We recommend Oracle JDK or OpenJDK:
๐ Download Links
- Oracle JDK: https://www.oracle.com/java/technologies/downloads/
- OpenJDK: https://jdk.java.net/ (Open source, free)
- Adoptium (Eclipse Temurin): https://adoptium.net/ (Recommended for beginners)
Recommended Version: JDK 17 LTS or JDK 21 LTS (Long Term Support)
Oracle JDK vs OpenJDK:
- Oracle JDK: Oracle แแฒแท official version แแผแ แบแแผแฎแธ commercial license แแซแแซแแแบแ Production use แแพแฌ license fee แแฑแธแแแญแฏแแบแแซแแแบแ Performance แแฒแท support แแฑแฌแแบแธแแซแแแบแ
- OpenJDK: Open source, แกแแแฒแท แแผแ แบแแผแฎแธ community-driven แแซแ Oracle JDK แแฒแท functionality แกแแฐแแฐแแซแ Personal projects, learning แกแแฝแแบ แแแทแบแแฑแฌแบแแซแแแบแ
- Adoptium (Eclipse Temurin): OpenJDK แแฒแท prebuilt binaries แแฝแฑ แแผแ แบแแผแฎแธ long-term support แแแซแแแบแ Beginners แกแแฝแแบ แกแแฑแฌแแบแธแแฏแถแธ แแฝแฑแธแแปแแบแแพแฏ แแผแ แบแแซแแแบแ
LTS (Long Term Support) Versions:
- Java 8: แกแแแบแ แกแแปแฌแธแแฏแถแธ แแฏแถแธแแแบ (2014-2030 support)
- Java 11: Modern features แแปแฌแธแแซแแผแฎแธ stable (2018-2027 support)
- Java 17: Latest LTS, recommended for new projects (2021-2029 support)
- Java 21: Newest LTS with cutting-edge features (2023-2031 support)
๐ Beginners แแฝแฑ แกแแฝแแบ Java 17 LTS แแญแฏแทแแแฏแแบ Java 21 LTS แแญแฏ recommend แแฏแแบแแซแแแบแ
Step 2: Installation Process
๐ช Windows Installation
1. Download JDK installer (.exe file)
2. Double-click the installer
3. Click "Next" through installation wizard
4. Note the installation path (e.g., C:\Program Files\Java\jdk-17)
5. Click "Install"
6. Wait for installation to complete
7. Click "Close"
Default Path: C:\Program Files\Java\jdk-17
๐ macOS Installation
1. Download JDK installer (.dmg file)
2. Double-click the .dmg file
3. Double-click the package icon
4. Follow the installation wizard
5. Enter admin password if prompted
6. Click "Install"
Default Path: /Library/Java/JavaVirtualMachines/jdk-17.jdk
๐ง Linux Installation (Ubuntu/Debian)
# Update package list
sudo apt update
# Install OpenJDK 17
sudo apt install openjdk-17-jdk
# Verify installation
java -version
javac -version
- Installation path แแญแฏ แแพแแบแแฌแธแแซ: Environment variables set แแฏแแบแแฒแท แกแแซ แแฏแถแธแแแพแฌ แแผแ แบแแซแแแบ
- Admin rights แแญแฏแแซแแแบ: Windows/Mac แแพแฌ administrator privileges แแพแญแแแซแแแบ
- Previous versions: Old Java versions แแพแญแแแบ uninstall แแแฏแแบแแแบแธ แแแซแแแบแ multiple versions แแฏแถแธแแญแฏแท แแแซแแแบ
- Disk space: JDK แ approximately 300-500 MB แแแทแบ แแญแฏแแซแแแบ
4. Setting Environment Variables (Environment Variables Configure แแฏแแบแแแบแธ)
After installing JDK, you need to set up environment variables so your system knows where to find Java tools.
Why Environment Variables?
Environment variables แแญแฏ set แแแฏแแบแแแบ command line (CMD, Terminal) แแแฑ javac
แแฒแท java commands แแฝแฑ แแฏแถแธแแญแฏแท แแแแซแ
Example: javac HelloWorld.java แแญแฏแท แแญแฏแแบแแญแฏแแบแแแบ
'javac' is not recognized as an internal or external command แแญแฏแแฒแท error
แแฑแซแบแแซแแแบแ
Environment variables set แแฏแแบแแผแฎแธแแพ system แ JDK แแฒแท bin folder แแฒแ javac.exe/java.exe แแฝแฑแแญแฏ แแพแฌแแฝแฑแทแแผแฎแธ command แแฝแฑ แกแแฏแแบแแฏแแบแแซแแแบแ
JAVA_HOME: JDK installation directory แแญแฏ แแฝแพแแบแแผแแฑแธแแฌ แแผแ แบแแซแแแบ
PATH: Executable files (javac.exe, java.exe) แแฝแฑ แแพแญแแฒแท folder แแญแฏ แแฝแพแแบแแผแแฑแธแแฌ แแผแ แบแแซแแแบ
๐ช Windows - Setting Environment Variables
Step 1: Open System Properties
- Right-click "This PC" or "My Computer"
- Click "Properties"
- Click "Advanced system settings"
- Click "Environment Variables" button
Step 2: Set JAVA_HOME
- Under "System variables", click "New"
- Variable name: JAVA_HOME
- Variable value: C:\Program Files\Java\jdk-17
- Click "OK"
Step 3: Update PATH
- Under "System variables", find "Path"
- Click "Edit"
- Click "New"
- Add: %JAVA_HOME%\bin
- Click "OK" on all windows
Step 4: Verify
- Open NEW Command Prompt (CMD)
- Type: java -version
- Type: javac -version
๐ macOS - Setting Environment Variables
# Open terminal and edit bash profile
nano ~/.bash_profile
# Add these lines (press 'i' to insert):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
# Save and exit (press Esc, then type :wq)
# Reload profile
source ~/.bash_profile
# Verify
java -version
javac -version
๐ง Linux - Setting Environment Variables
# Edit bashrc file
nano ~/.bashrc
# Add these lines at the end:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
# Save and exit (Ctrl+X, then Y, then Enter)
# Reload
source ~/.bashrc
# Verify
java -version
javac -version
Verification (แกแแแบแแผแฏแแผแแบแธ)
java -version
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode)
javac -version
javac 17.0.9
Error: 'java' is not recognized:
- Environment variables แแพแแบแแแบแ แฝแฌ set แแฏแแบแแฌแธแแผแแบแธ แแพแญ/แแแพแญ แ แ แบแแซ
- Command Prompt/Terminal แแญแฏ close แแผแฎแธ แแผแแบแแฝแแทแบแแซ (changes แแญแฏ reload แแฏแแบแแญแฏแท)
- Computer restart แแฏแแบแแซ (Windows แแพแฌ แแ แบแแซแแ แบแแถ แแญแฏแแซแแแบ)
- PATH variable แแพแฌ
%JAVA_HOME%\binแแซแแแบแแผแแบแธ แ แ แบแแซ
Multiple Java versions installed:
- JAVA_HOME แ แกแแ แบแแฏแถแธ version แแญแฏ point แแฏแแบแแฌแธแแซ
- PATH แแพแฌ JAVA_HOME\bin แ แกแแพแฑแทแแฏแถแธแแพแฌ แแพแญแกแฑแฌแแบ แแฌแธแแซ
5. IDE Setup (IDE แแฝแฑแธแแปแแบแแผแฎแธ Install แแฏแแบแแแบแธ)
An Integrated Development Environment (IDE) provides tools for writing, compiling, running, and debugging Java code all in one place.
IntelliJ IDEA
Recommended for beginners
Intelligent code completion, refactoring, debugging. Free Community Edition available.
Download: https://www.jetbrains.com/idea/
Eclipse IDE
Popular & Free
Mature, stable, extensive plugin ecosystem. Completely free and open source.
Download: https://www.eclipse.org/
VS Code
Lightweight
Fast, modern editor with Java extensions. Good for small projects.
Download: https://code.visualstudio.com/
IntelliJ IDEA (Highly Recommended):
- Pros: Smart code completion, excellent refactoring tools, built-in Maven/Gradle support, great debugger, modern UI
- Cons: Resource-intensive (needs good RAM), Community Edition แแพแฌ enterprise features แแแปแญแฏแท แแญแแบแแฌแธแแแบ
- Best for: Beginners to professionals, large projects, Spring/Java EE development
Eclipse IDE:
- Pros: Completely free, large plugin ecosystem, good for enterprise Java, lighter than IntelliJ
- Cons: UI แแแบแธแแแบแธ outdated, setup แแฏแแบแแแฌ แแพแฏแแบแแญแฏแแบแแแบ
- Best for: Students, budget-conscious developers, enterprise projects
VS Code:
- Pros: Very fast, modern, lightweight, good for multiple languages, free extensions
- Cons: Java support แ extension dependent, IDE features แแแบแธแแแบ
- Best for: Simple projects, quick edits, developers who prefer lightweight editors
๐ Recommendation: Beginners แแฝแฑ แกแแฝแแบ IntelliJ IDEA Community Edition แแญแฏ แกแแผแถแแผแฏแแซแแแบแ Setup แแฝแแบแแผแฎแธ beginner-friendly แแผแ แบแแซแแแบแ
Installing IntelliJ IDEA
1. Go to https://www.jetbrains.com/idea/download/
2. Download "Community Edition" (Free)
3. Run the installer
4. Choose installation directory
5. Create desktop shortcut (recommended)
6. Select "Create associations" for .java files
7. Click "Install"
8. Launch IntelliJ IDEA
9. Choose UI theme (Light/Dark)
10. Skip or install featured plugins
11. Click "Start using IntelliJ IDEA"
Creating Your First Project in IntelliJ
1. Click "New Project"
2. Select "Java" from left sidebar
3. Choose Project SDK (select installed JDK)
- If not listed, click "Add SDK" โ "JDK"
- Browse to JDK installation folder
4. Name your project (e.g., "JavaLearning")
5. Choose project location
6. Click "Create"
7. IDE opens with project structure
8. Right-click "src" folder โ New โ Java Class
9. Name the class (e.g., "HelloWorld")
10. Write your code
11. Click green "Run" button
- Auto-import:
Alt+Enter(Windows/Linux) orOption+Enter(Mac) แ missing imports แแฝแฑ automatically add แแฏแแบแแฑแธแแแบ - Code completion:
Ctrl+Spaceแ suggestions แแฑแธแแแบ - Run code:
Shift+F10(Windows/Linux) orCtrl+R(Mac) - Format code:
Ctrl+Alt+L(Windows/Linux) orCmd+Option+L(Mac) - Refactor/Rename:
Shift+F6แ variable/class names rename แแฏแแบแแญแฏแท แแแแบ
6. Testing Your Setup (Setup แแพแแบ/แแแพแแบ แ แแบแธแแแบแแผแแบแธ)
Let's verify everything is working by creating and running a simple Java program from command line:
Step 1: Create a Java File
Open any text editor (Notepad, TextEdit, nano) and create a file named Test.java:
public class Test {
public static void main(String[] args) {
System.out.println("Java setup successful!");
System.out.println("JDK version: " + System.getProperty("java.version"));
System.out.println("OS: " + System.getProperty("os.name"));
}
}
Step 2: Compile the Program
Open Command Prompt/Terminal, navigate to the folder containing Test.java, and compile:
javac Test.java
If successful, this creates Test.class file (no output = success). If there are
errors, check for typos.
Step 3: Run the Program
java Test
Java setup successful!
JDK version: 17.0.9
OS: Windows 10
javac Test.java- Compile แแฏแแบแแฒแท command, .java file name แแฒแท แแฏแถแธแแซjava Test- Run แแฏแแบแแฒแท command, .class แแแซแแฒ class name แแแบ แแฏแถแธแแซ- File name แแฒแท class name แ exactly แแฐแแแซแแแบ (case-sensitive)
- Command prompt/terminal แแญแฏ Test.java file แแพแญแแฒแท folder แแพแฌ แแฝแแทแบแแแซแแแบ
- Compile แกแฑแฌแแบแแผแแบแแแบ output แแแพแญแแซแ error แแพแญแแพ message แแฑแซแบแแซแแแบ
7. Key Takeaways (แแพแแบแแฌแธแแแแทแบ แกแแปแแบแแปแฌแธ)
- JDK = JRE + Development Tools: Developers need JDK, end users need JRE
- JVM: Executes bytecode, platform-specific, enables WORA
- Java 17 LTS or Java 21 LTS: Recommended versions for new learners
- Environment Variables: JAVA_HOME points to JDK, PATH includes bin folder
- Verify Installation:
java -versionandjavac -version - IntelliJ IDEA Community: Best IDE for beginners (free)
- Compile:
javac FileName.javacreates .class file - Run:
java ClassNameexecutes the program - Command line vs IDE: Both work, IDE is more convenient
- File name = Class name: Must match exactly (case-sensitive)
๐ก Quick Quiz
Test your understanding:
Q1: What does JDK stand for?
Q2: Which command compiles a Java file?
Q3: What does JAVA_HOME environment variable point to?