• Home
  • About
    • Thoughts To Pen photo

      Thoughts To Pen

      My thoughts on Computer Programming || Psychology || Personal Finances || & much more...

    • Learn More
    • Twitter
    • Instagram
    • Github
    • StackOverflow
  • Posts
    • All Posts
    • All Tags
  • Projects
  • Portfolio
  • Resources
  • About

Java Programming Language

  • The New Date/Time API (Java 8)

    Master the thread-safe and intuitive java.time API introduced in Java 8. Learn how to handle dates, times, and time zones correctly.

    Read More
  • The Optional API (Java 8)

    Stop chasing NullPointerExceptions. Learn how to use Java 8's Optional class to build safer, more resilient applications.

    Read More
  • The Streams API (Java 8)

    Learn how to process data declaratively with the Java 8 Streams API. Master filter, map, and collect to write cleaner loops.

    Read More
  • Functional Interfaces & Default Methods (Java 8)

    Deep dive into Java 8's interface enhancements. Learn about Default Methods, Functional Interfaces, and the foundational built-in functions like Predicate, Consumer, Supplier, and Function.

    Read More
  • Lambda Expressions (Java 8)

    Master Lambda Expressions in Java 8. Learn how to write concise, functional code and eliminate anonymous inner class boilerplate.

    Read More
  • Java 8 Features

    Revisit the revolutionary changes introduced in Java 8, the release that brought functional programming to Java with Lambdas, Streams, and the Optional API.

    Read More
  • Predicate::not and More Enhancements (Java 11)

    Explore the smaller but impactful features of Java 11, including Predicate.not(), simpler Collection to Array conversion, and single-file execution.

    Read More
  • Local-Variable Syntax for Lambda Parameters (Java 11)

    Understand how to use the 'var' keyword in lambda expressions in Java 11 and why it's useful for annotations.

    Read More
  • String & Files API Enhancements (Java 11)

    Discover the new utility methods in String and Files classes introduced in Java 11. Write cleaner code for common text and I/O tasks.

    Read More
  • Standard HTTP Client API (Java 11)

    Master the modern HTTP Client in Java 11. Learn how to perform synchronous and asynchronous requests with support for HTTP/2.

    Read More
  • Java 11 Features

    Explore the landmark features introduced in Java 11 LTS, including the new HTTP Client, Local-Variable Syntax for Lambda Parameters, and key String and File API enhancements.

    Read More
  • Enhanced Pseudo-Random Number Generators (Java 17)

    Explore Java 17's new random number generator interfaces and algorithms for better performance and flexibility.

    Read More
  • Records (Java 17)

    Eliminate boilerplate with Records in Java 17 - the perfect solution for immutable data carrier classes.

    Read More
  • Text Blocks (Java 17)

    Write cleaner multi-line strings in Java 17 with Text Blocks, perfect for JSON, SQL, HTML, and more.

    Read More
  • Pattern Matching for instanceof (Java 17)

    Simplify type checking and casting in Java 17 with Pattern Matching for instanceof, eliminating boilerplate code.

    Read More
  • Sealed Classes (Java 17)

    Master Sealed Classes in Java 17 to control inheritance hierarchies and build more maintainable, secure domain models.

    Read More
  • Java 17 Features

    Explore the powerful features introduced in Java 17 LTS, including Sealed Classes, Pattern Matching, Text Blocks, Records, and enhanced random number generators.

    Read More
  • Primitive Types in Patterns (Java 25)

    Java 25 extends pattern matching to primitive types like int and long, unifying the type system.

    Read More
  • Module Import Declarations (Java 25)

    Say goodbye to import clutter with Module Import Declarations in Java 25.

    Read More
  • Flexible Constructor Bodies (Java 25)

    Flexible Constructor Bodies in Java 25 allow statements before super(), giving you more control over object initialization.

    Read More
  • Compact Source Files (Java 25)

    Java 25 introduces Compact Source Files to reduce boilerplate and make the language more beginner-friendly.

    Read More
  • Java 25 Features

    A comprehensive overview of the new features in Java 25, including Compact Source Files, Flexible Constructors, and Primitive Patterns.

    Read More
  • Unnamed Patterns & Variables (Java 21)

    Discover how Unnamed Patterns (_) in Java 21 help you write cleaner code by ignoring unused variables.

    Read More
  • Structured Concurrency (Java 21)

    Explore Structured Concurrency in Java 21 for more robust, readable, and maintainable concurrent code.

    Read More
  • Unnamed Classes & Instance Main Methods (Java 21)

    Simplify your Java learning layout with Unnamed Classes and Instance Main Methods in Java 21.

    Read More
  • Pattern Matching for switch (Java 21)

    Pattern Matching for switch in Java 21 revolutionizes control flow with type testing and complex case logic.

    Read More
  • Record Patterns (Java 21)

    Learn how Record Patterns in Java 21 allow for powerful and concise data navigation and processing.

    Read More
  • Sequenced Collections (Java 21)

    Sequenced Collections introduced in Java 21

    Read More
  • Virtual Threads (Java 21)

    Virtual Threads NOTE: This is a preview feature NOT enabled by-default in JDK-21.

    Read More
  • String Templates (Java 21)

    String Templates introduced in Java 21

    Read More
  • Java 21 Features

    All new features introduced in Java 21

    Read More