Built-in Packages
Built-in packages are collections of predefined classes and interfaces provided by Java to handle common programming tasks such as language fundamentals, collections, I/O, networking, date/time, concurrency, and databases. They form the Java Standard Library and are available out of the box. This is a frequent interview topic, often asked alongside import, packages, and API usage.
Why Built-in Packages Exist
- Avoid reinventing common functionality
- Provide reliable, optimized implementations
- Promote standardization across Java programs
- Speed up development and reduce bugs
Most Important Built-in Packages (Must-Know)
1. java.lang — Core Language Support
Automatically imported (no import needed)
Common classes:
- Object
- String, StringBuilder, StringBuffer
- Math
- System
- Exception, RuntimeException
- Wrapper classes (Integer, Double, etc.)
String s = "Java";
System.out.println(Math.sqrt(16));
2. java.util — Utilities & Collections
Used for data structures and utilities
Common classes/interfaces:
- List, ArrayList, LinkedList
- Set, HashSet
- Map, HashMap
- Iterator
- Collections, Arrays
- Scanner
import java.util.*;
List<Integer> list = new ArrayList<>();
3. java.io — Input / Output (File-based, Stream-based)
Used for file handling and byte/character streams
Common classes:
- File
- FileReader, FileWriter
- InputStream, OutputStream
- BufferedReader, BufferedWriter
import java.io.*;
File file = new File("data.txt");
4. java.nio — New I/O (Non-blocking, Faster I/O)
Introduced for high-performance I/O
Key features:
- Buffers
- Channels
- Paths & Files API
import java.nio.file.*;
Path p = Paths.get("data.txt");
5. java.sql — Database Connectivity (JDBC)
Used for database operations
Common interfaces/classes:
- Connection
- Statement, PreparedStatement
- ResultSet
- DriverManager
import java.sql.*;
Connection con = DriverManager.getConnection(url, user, pwd);
6. java.time — Date & Time API (Java 8+)
Modern replacement for Date and Calendar
Common classes:
- LocalDate
- LocalTime
- LocalDateTime
- Period, Duration
import java.time.*;
LocalDate today = LocalDate.now();
7. java.net — Networking
Used for network programming
Common classes:
- URL
- URLConnection
- Socket
- ServerSocket
import java.net.*;
URL url = new URL("https://example.com");
8. java.util.concurrent — Multithreading Utilities
Used for high-level concurrency
Common classes:
- ExecutorService
- Executors
- Future
- Callable
- ConcurrentHashMap
import java.util.concurrent.*;
ExecutorService ex = Executors.newFixedThreadPool(2);
9. java.math — High-Precision Arithmetic
Used for financial and scientific calculations
Classes:
- BigInteger
- BigDecimal
import java.math.*;
BigDecimal bd = new BigDecimal("123.45");
Package Import Rules (Quick Recap)
- java.lang → auto-imported
- Other packages → must be imported explicitly
- Wildcard imports do not import sub-packages
import java.util.*; // only util, not util.concurrent
Built-in Packages Summary Table (Interview-Friendly)
| Package | Purpose |
|---|---|
| java.lang | Core language support |
| java.util | Collections & utilities |
| java.io | File & stream I/O |
| java.nio | Non-blocking I/O |
| java.sql | Database connectivity |
| java.time | Date & time |
| java.net | Networking |
| java.util.concurrent | Multithreading |
| java.math | High-precision math |
Common Beginner Mistakes
- Forgetting imports (except java.lang)
- Using old Date instead of java.time
- Overusing wildcard imports
- Confusing java.io with java.nio
- Not closing I/O or DB resources
Interview-Ready Answers
Short Answer
Built-in packages are predefined Java packages that provide commonly used classes and interfaces.
Detailed Answer
Java provides built-in packages such as java.lang, java.util, java.io, java.sql, and java.time to handle core language features, collections, I/O, databases, and date/time operations. These packages help developers write efficient, standardized, and maintainable code.
Key Takeaway
Built-in packages are the backbone of Java development. Mastering them allows you to write powerful applications faster, cleaner, and more reliably.