01 - Java Programming Fundamentals
Introduction to Java: history, WORA philosophy, difference between JVM/JRE/JDK, development environment setup, program structure and naming conventions.
Complete Java course from basic syntax to advanced features: generics, stream API, lambdas, multithreading, collections framework, and enterprise patterns. Oracle certification preparation.
Questa serie raccoglie 18 articoli (circa 299 minuti di lettura totale), pensati per un livello Beginner. Gli argomenti principali trattati sono Java, JDK, OOP, Spring.
Introduction to Java: history, WORA philosophy, difference between JVM/JRE/JDK, development environment setup, program structure and naming conventions.
Java primitive types (int, long, double, boolean, char), variables and constants, operators, if/switch/for/while control structures and casting.
Methods in Java: definition, parameters, overloading, pass by value. One-dimensional and multidimensional arrays, common operations.
Object-oriented programming in Java: classes, objects, constructors, encapsulation, access modifiers, this and static members.
Inheritance, polymorphism, abstract classes and interfaces in Java. Default methods, multiple implementation and when to use what.
Java core classes: String and StringBuilder, Wrapper classes and autoboxing, modern Date/Time API with LocalDate, LocalTime and ZonedDateTime.
Java Collections Framework: ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, Queue and Collections class algorithms.
Java exception handling: try-catch-finally, checked vs unchecked, throw and throws, custom exceptions and try-with-resources.
I/O in Java: byte and character streams, BufferedReader/Writer, NIO.2 with Path and Files, object serialization and best practices.
Functional programming in Java: lambda expressions, functional interfaces, method references, Stream API, Collectors and Optional.
Concurrent programming in Java: Thread, Runnable, ExecutorService, synchronization, Lock, atomic classes, CompletableFuture and producer-consumer pattern.
JVM architecture, memory areas, Garbage Collection, JIT compiler, profiling, diagnostics and performance optimization.
Unit testing with JUnit 5: annotations, assertions, parameterized tests. Mockito for mock, stub and verify. TDD.
SOLID principles, naming conventions, code smells, refactoring and error handling for professional code.
Most used patterns: Singleton, Factory, Builder, Strategy and Observer with practical Java examples.
Java project management with Maven and Gradle: POM, lifecycle, dependencies, plugins and tasks.
Professional project structure, logging with SLF4J/Logback, configuration and environment management.
IoC, Dependency Injection, Repository and Service patterns: foundations for Spring and enterprise frameworks.
Have you read all the articles? Check how much you've learned by taking this series' quizzes.