Fundamentals 34 min read

Comprehensive Java Fundamentals Guide: JVM, JDK, OOP, Exceptions, Collections, and More

This article provides an extensive overview of Java fundamentals, covering the JVM/JRE/JDK relationship, bytecode and JIT compilation, core language features introduced in Java 8, basic syntax differences, data types, OOP principles, SOLID design, exception handling, reference types, and string manipulation classes.

Full-Stack Internet Architecture
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Comprehensive Java Fundamentals Guide: JVM, JDK, OOP, Exceptions, Collections, and More

Java is an object‑oriented language with cross‑platform capability provided by the Java Virtual Machine (JVM); the article explains the relationship between JVM, JRE and JDK and how bytecode and Just‑In‑Time (JIT) compilation work.

Core Language Features

Since Java 8 the language adds default methods in interfaces, lambda expressions, the Stream API, method references, the new date‑time API and the Optional class to reduce NullPointerException.

Basic Syntax and Constructs

Examples cover the difference between constructors (overload only) and methods, the distinction between wait() and sleep() , and the use of & (bitwise) versus && (short‑circuit logical) operators.

Data Types and Collections

Primitive types (byte, short, int, long, float, double, char, boolean) and their wrapper classes (e.g., Integer ) are described, together with the caching behavior of Integer.valueOf . The advantages of using String as a HashMap key are highlighted.

Object‑Oriented Concepts

The four OOP pillars—abstraction, encapsulation, inheritance, polymorphism—are explained, including how Java implements polymorphism via inheritance, method overriding and up‑casting, and the difference between compile‑time overload and runtime override.

Design Principles

SOLID principles (SRP, OCP, LSP, ISP, DIP) are introduced with brief examples, and the distinction between interfaces and abstract classes is clarified.

Exceptions and Errors

Exception handling hierarchy, checked vs unchecked exceptions, common exception types, and the role of hashCode when overriding equals are covered. Errors such as OutOfMemoryError and NoClassDefFoundError are distinguished from exceptions.

Final, Finally, Finalize

Differences among final (class, method, variable), finally blocks, and the finalize() method are summarized, including the effect of return statements inside try‑catch‑finally.

Reference Types

Strong, soft, weak and phantom references and their typical use‑cases (caching, ThreadLocal) are described.

String, StringBuilder, StringBuffer

Immutability of String , mutability and thread‑safety of StringBuilder and StringBuffer , and performance considerations are discussed.

JavaJVMCollectionsoopFundamentalsexceptions
Full-Stack Internet Architecture
Written by

Full-Stack Internet Architecture

Introducing full-stack Internet architecture technologies centered on Java

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.