1. Introduction to SPI
This article introduces Java's Service Provider Interface (SPI) mechanism, explaining its role in decoupling interface definitions from implementations, with examples in JDBC, Spring Boot, and Dubbo.
This article introduces Java's Service Provider Interface (SPI) mechanism, explaining its role in decoupling interface definitions from implementations, with examples in JDBC, Spring Boot, and Dubbo.
This article surveys Java fundamentals, explaining OOP principles, differences from C++, polymorphism, static/final keywords, abstract classes versus interfaces, generics with type erasure, reflection, exception handling, core data structures, HashMap internals, serialization, key design patterns, and essential language constructs for developers.
This article introduces the Java Virtual Machine’s overall architecture and its runtime data areas, covering class files, class loaders, execution engine components, native interfaces, and detailed explanations of the program counter, stacks, heap, method area, and constant pool, providing a solid foundation for Java developers.
This article explains Java's class loading process, the sources of class files, the hierarchy of built‑in class loaders, the parent‑delegation model, and demonstrates how to create and use a custom NetworkClassLoader for dynamic remote class loading.
This article explains how to master the Java Development Kit by breaking it into three parts—JVM, core libraries, and tools—and categorizes its packages into four learning levels to help developers achieve a solid Java foundation for interviews and advanced work.