Table of Contents Getting startedIssue #1: APIs, SDKs, and rapid changeIssue #2: ConfigIssue #3: JSON formatIssue #4: Loading data to Pinecone1. Metadata keysAlternative embeddings – Book descriptionsWrapping up!Resources As someone who is pretty familiar with relational and graph databases, I …
-
Optimizing the Garbage Collector when Migrating Cloud Workloads
Table of Contents Why GC Tuning Matters on ArmOpenJDK VersionChoosing the Right Garbage CollectorHeap Size and GC Pause TimeAdaptive Heap SizingClosing the feedback loopDeveloper Education for the Java CommunityNeed Assistance from Experts? Introduction to Java on Arm You might associate …
-
Sliding Window Log Rate Limiter (Redis & Java)
Table of Contents How It Works1. Define a Time Window2. Track Requests3. Remove Expired Entries4. Rate Limit CheckHow to Implement It with Redis and Java1. Log Each Request (If Allowed)2. Remove Expired Entries3. Count Requests in the Time WindowImplementing it …
-
Fixed Window Counter Rate Limiter (Redis & Java)
Table of Contents How It Works1. Define a Window Interval2. Track Requests3. Reset Counter:4. Rate Limit Check:How to Implement It with Redis and Java1. Use the INCR command to increment the counter in Redis each time a request is allowed2. …
-
Foojay Podcast #64: Interviews at JFall about open source, OpenJDK evolutions, Project Loom, JVM, and more!
Table of Contents VideoPodcast (audio only)GuestsContent Let’s wrap up this year with more interviews from the JFall conference. In this episode you’ll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning …
-
Exploring New Features in JDK 23: Module Design Pattern with JEP-476
Table of Contents Module design pattern before Java 9Pushing modularization forward with JEP-476ConclusionReferences Although the module design pattern can be implemented in many different ways, the main motivation behind using it remains the same. This is the isolation of a …
-
Exploring New Features in JDK 23: Just-Write-And-Run prototyping with JEP-477 not only for beginners
Table of Contents It seems like it’s never been easier to start writing a simple program that can be turned into a more advanced one as development progresses. Let’s explore possibilities delivered by JDK 23 release.Analyzing, Parsing and understanding dataConclusionReferences …
-
Book Review: Mastering the Java Virtual Machine
Table of Contents Part 1: Understanding the JVMPart 2: Memory Management and ExecutionPart 3: Alternative JVMsPart 4: Advanced Java TopicsConclusionRecommendation Otávio Santana’s “Mastering the Java Virtual Machine” takes readers on an insightful journey through the inner workings of the JVM. …
-
Deep dive into bits, bytes, shorts, ints, longs, signed, and unsigned with Java
Table of Contents The Basics: BitsBits to ByteValue Ranges in JavaDifference between Byte, Short, Integer and LongMinimum and maximum values in JavaSigned versus UnsignedUsing MasksUsing Helper MethodsSame Approach for ShortExample use of BitsConclusionRemark On the Pi4J discussion list, someone recently …
-
Exploring New Features in JDK 23: Gatherers upgrades pipeline design pattern JEP-473
Table of Contents Expanding intermediate functions with JEP-461Collection of build-in gatherersConclusionReferences Source-code flexibility goes hand in hand with maintainability and testability. The Java language benefits not only from its maturity but also from the fact that it is strongly typed. …
-
Exploring New Features in JDK 23: Builder Pattern Simplicity with JEP-455 Primitive Types in Patterns, instanceof, and switch (Preview)
Table of Contents Building a vehicleConclusionReferences The runtime initiation of any program requires allocating a given memory and after many additional steps the first object could be created. In a previous post, we explored how to improve maintainability of complex …