• Home
  • Search
  • About
    • Thoughts To Pen photo

      Thoughts To Pen

      Turning caffeine into clean Java, systematic trades, compound growth, and questionable life choices.

    • Learn More
    • Instagram
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects
  • Portfolio
  • Resources
  • About
  • Contact
  • Privacy Policy
  • Terms of Service
  • Disclaimer

Java Programming Language

  • Java Garbage Collection Showdown: G1GC vs. Generational ZGC in 2026 (Benchmarks & Architecture)

    Comprehensive benchmark and architectural comparison between G1GC and Generational ZGC in modern Java. Understand pause times, colored pointers, load barriers, and throughput trade-offs.

    Read More
  • Under the Hood of the Java JIT Compiler: How C1, C2, and Escape Analysis Turn Bytecode into Blazing Machine Code

    Comprehensive deep dive into the JVM JIT compiler. Understand Tiered Compilation (Levels 0–4), Escape Analysis, Scalar Replacement, and Inlining with runnable benchmarks.

    Read More
  • Streaming Real-Time Stock Market Data with Shoonya API and Java: Complete WebSocket Guide

    Learn how to stream real-time tick-by-tick stock market data using Shoonya (Finvasia) WebSocket API in Java. Step-by-step tutorial covering the NorenWSAPI protocol, handshake authentication, avoiding policy violations, and building an auto-reconnecting client.

    Read More
  • Complete Guide to Shoonya (Finvasia) API Authentication in Java: OAuth 2.0, WebSocket Streaming & Network Fixes

    Learn how to authenticate with Shoonya (Finvasia) Trading API in pure Java. Step-by-step guide covering the modern OAuth 2.0 GenAcsTok flow, SHA-256 checksums, IPv6 network fixes, and live WebSocket streaming with accesstoken.

    Read More
  • 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
About Contact Privacy Policy Terms of Service Disclaimer Resources

© 2026 Thoughts To Pen. All rights reserved.

Educational software engineering & research publication. Content and code samples do not constitute financial or trading advice.

Popular Topics:
Indexing articles...
↑↓ Navigate ↵ Open ESC Close
Powered by Lunr.js