Common Java Packages in Java
Java provides hundreds of built-in packages, but only a few are used regularly in real-world development.
These common Java packages offer essential classes for everyday programming, including strings, collections, I/O operations, networking, dates, concurrency, and more.
This guide explains the most important Java packages, what they contain, and when to use them — with simple examples.

1. java.lang
- Automatically imported in every Java program.
- Contains fundamental classes for basic language features.
Common Classes
StringObjectMathSystemThreadWrapper classes(Integer, Double, Boolean, etc.)
Example
public class Main {
public static void main(String[] args) {
System.out.println(Math.sqrt(16));
}
}
2. java.util
Most widely used package for collections, dates, and utilities.
Common Classes
ArrayListHashMapHashSetCollectionsDateRandomScanner
Example
import java.util.*;
class Demo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
System.out.println(list);
}
}
3. java.io
Used for input/output operations, such as reading and writing files.
Common Classes
FileFileInputStreamFileOutputStreamBufferedReaderPrintWriter
Example
import java.io.*;
class FileDemo {
public static void main(String[] args) throws Exception {
FileWriter fw = new FileWriter("test.txt");
fw.write("Hello Java");
fw.close();
}
}
4. java.nio / java.nio.file
Modern, faster I/O system used for file handling and buffers.
Common Classes
PathFilesByteBuffer
Example:
import java.nio.file.*;
class NioExample {
public static void main(String[] args) throws Exception {
Files.writeString(Path.of("data.txt"), "Hello NIO");
}
}
5. java.net
Supports networking, such as HTTP, TCP, UDP communication.
Common Classes
URLURLConnectionSocketServerSocket
6. java.time
Modern date and time API (Java 8+).
Common Classes
LocalDateLocalTimeLocalDateTimeZoneIdDurationPeriod
Example:
import java.time.*;
class TimeDemo {
public static void main(String[] args) {
System.out.println(LocalDate.now());
}
}
7. java.sql
Used for database connectivity (JDBC).
Common Classes
ConnectionStatementPreparedStatementResultSetDriverManager
8. java.math
Used for high-precision calculations.
Common Classes
BigIntegerBigDecimal
Example:
import java.math.*;
class MathDemo {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("10.5");
BigDecimal b = new BigDecimal("2.3");
System.out.println(a.add(b));
}
}
9. java.awt & javax.swing
Used for GUI programming.
- AWT → older GUI toolkit
- Swing → advanced, lightweight GUI framework
Common Classes (Swing)
JFrameJButtonJLabel
10. java.util.concurrent
Support for multithreading, concurrency, thread pools.
Common Classes
ExecutorServiceFutureCallableConcurrentHashMapLocks(ReentrantLock)
Summary Table of Common Java Packages
| Package | Purpose |
|---|---|
| java.lang | Core language classes (String, Math, Object) |
| java.util | Collections, utilities, Scanner |
| java.io | Input/output streams, files |
| java.nio | Fast I/O, Paths, Files |
| java.net | Networking |
| java.time | Date & time API |
| java.sql | Database connectivity |
| java.math | BigInteger, BigDecimal |
| java.awt / javax.swing | GUI programming |
| java.util.concurrent | Threading & concurrency |
