Skip to main content

Java.

31 posts — Posts about Java

11

Data Structures: The Stack

A stack is a last-in-first-out (LIFO) data structure that only allows insertion and deletion at the top, and can be implemented with an array or a linked list. This post walks through its basic operations, complexity, and its uses in function calls, expression evaluation, compilers, and operating systems.

12

IntelliJ IDEA Default Shortcuts

A roundup of the most-used default keybindings in IntelliJ IDEA, grouped by navigation, editing, refactoring, and debugging, with memorization tips and conflict troubleshooting.

13

Sizing a Thread Pool: How Many Core Threads?

Estimating a thread pool's core thread count for CPU-bound, IO-bound, and mixed workloads — and why load testing is what ultimately settles the number.

14

A History of the HTTP Protocol

Tracing HTTP's evolution from 0.9 to 3.0: what each generation of the protocol solved, what problems it left behind, and how QUIC redesigned the transport layer.

15

How the JVM Thread Pool Scales Up

In HotSpot, Java threads map one-to-one to kernel threads, making creation and destruction expensive. A walkthrough of ThreadPoolExecutor's core parameters, its task-handling and scaling flow, and the classic pitfall where an unbounded queue silently disables your configuration.

16

Bloom Filters Explained

Starting from bitmaps and multiple hashing, this post walks through the Bloom filter's membership guarantees, where false positives come from and how to trade them off, why the original structure can't support deletion, and how counting Bloom filters fill that gap.

17

False Sharing: The Hidden Performance Killer

Starting from CPU cache hierarchies and cache lines, this post explains how false sharing arises in multi-core concurrent code, and covers common mitigations such as cache line padding.

18

Distributed Transactions with Seata

In a microservice architecture, every business module gets its own DB storage node, and cross-database calls bring the distributed transaction problem. This post walks through Seata's roles and the principles and trade-offs of its four modes: AT, TCC, Saga, and XA.

19

Installing Fiddler and Capturing HTTPS Traffic

How to install Fiddler, configure the system proxy, and capture encrypted HTTPS requests with a forged certificate — covering both how it works and the step-by-step setup.

20

Useful IDEA Plugins and Dev Tools

A roundup of the IDEA plugins and tools I rely on for daily Java development: SonarQube, FindBugs, CheckStyle, Maven Helper, Lombok, Key Promoter X, and more, with notes on when to use each.