Programmer1970
Author

Programmer1970

Formerly called 'Code to 35'. Add our main WeChat ID to access a wealth of shared resources (algorithms, interview prep, tech stacks: Java, Python, Go, big data). We mainly share serious development techniques, focusing on output-driven input. Occasionally we post life snippets and gossip. Our aim is to attract precise traffic and test advertising opportunities.

128
Articles
0
Likes
606
Views
0
Comments
Recent Articles

Latest from Programmer1970

100 recent articles max
Programmer1970
Programmer1970
Sep 7, 2026 · Backend Development

12 Spring Transaction Failure Scenarios: Why 90% of Developers Fall for #8

This article systematically breaks down 12 common scenarios where Spring @Transactional fails, from non-public methods and self-invocation to exception swallowing, wrong propagation, controller-layer annotations, long transactions, and misconfigured transaction managers. Each scenario includes code examples, root-cause analysis, and practical fixes.

@TransactionalAOPBackend Development
0 likes · 14 min read
12 Spring Transaction Failure Scenarios: Why 90% of Developers Fall for #8
Programmer1970
Programmer1970
Sep 2, 2026 · Backend Development

One TINYINT Field, Four Notification Switches: Bitmask Pattern in Practice

This article demonstrates how to store four independent notification channel switches (SMS, email, in-app, WeChat) in a single MySQL TINYINT column using bitwise operations, covering schema design, SQL queries, Java enum and utility classes, service and controller layers, MyBatis mapper, extensibility to N channels, and key considerations like indexing, concurrency, and readability.

JavaMyBatisMySQL
0 likes · 14 min read
One TINYINT Field, Four Notification Switches: Bitmask Pattern in Practice
Programmer1970
Programmer1970
Aug 28, 2026 · Cloud Native

Nacos CP Mode Still Has Split-Brain? 4 Scenarios Where Raft Fails

This article explains why Nacos CP mode can still experience split-brain despite using Raft, detailing four trigger scenarios (even-node partitions, GC pauses, cross-AZ latency, snapshot failures), three reasons CP appears like AP (client cache, read paths, module separation), and five practical fixes plus diagnostic commands.

CP modeNacosRaft
0 likes · 13 min read
Nacos CP Mode Still Has Split-Brain? 4 Scenarios Where Raft Fails
Programmer1970
Programmer1970
Aug 23, 2026 · Backend Development

Custom Spring Cloud Gateway Filters for Rate Limiting, Circuit Breaking & Gray Release

This article details the development of custom Spring Cloud Gateway plugins for rate limiting, circuit breaking, and gray release to overcome Sentinel's production limitations, covering architecture design, Redis-based rule storage with pub/sub, token bucket and sliding window algorithms, circuit breaker state machines, tag-based canary routing, and production lessons learned with performance benchmarks.

Circuit BreakingRedisSpring Cloud Gateway
0 likes · 20 min read
Custom Spring Cloud Gateway Filters for Rate Limiting, Circuit Breaking & Gray Release
Programmer1970
Programmer1970
Aug 16, 2026 · Backend Development

Why Disruptor’s Ring Buffer Beats BlockingQueue: Zero‑Copy, False‑Sharing Elimination, and Cache‑Line Padding

The article dissects how Disruptor’s ring‑buffer architecture outperforms traditional BlockingQueue by eliminating lock contention, dynamic allocation, and cache‑line interference through pre‑allocated zero‑copy buffers, CAS‑based sequencing, cache‑line padding, batch processing, and tailored wait strategies, achieving millions of TPS.

BlockingQueueCache line paddingDisruptor
0 likes · 13 min read
Why Disruptor’s Ring Buffer Beats BlockingQueue: Zero‑Copy, False‑Sharing Elimination, and Cache‑Line Padding
Programmer1970
Programmer1970
Aug 6, 2026 · Backend Development

Revisiting synchronized lock upgrade: JVM‑level details of biased, lightweight and heavyweight locks

This article explains how the JVM implements synchronized by using the object header's Mark Word to transition through biased, lightweight, and heavyweight lock states, covering the underlying data structures, lock acquisition and release processes, revocation, downgrade, tuning parameters, practical verification, performance pitfalls, and a comparison with ReentrantLock.

JVMJavaPerformance
0 likes · 16 min read
Revisiting synchronized lock upgrade: JVM‑level details of biased, lightweight and heavyweight locks
Programmer1970
Programmer1970
Jul 23, 2026 · Fundamentals

6 Real Scenarios That Break Java’s ClassLoader Parent‑Delegation Model

The article examines six practical situations—SPI, Tomcat WebAppClassLoader, OSGi bundles, JDBC driver loading, custom ClassLoaders, and Java agents—where Java’s default parent‑delegation class‑loading mechanism is intentionally bypassed, explaining the motivations, implementations, and associated risks of each approach.

ClassLoaderJavaOSGi
0 likes · 13 min read
6 Real Scenarios That Break Java’s ClassLoader Parent‑Delegation Model
Programmer1970
Programmer1970
Jul 21, 2026 · Backend Development

How to Cut RocketMQ Consumer Latency from 10 s to 500 ms with Five Overlooked Settings

During a traffic peak the order service saw 30‑second consumer latency and a backlog of over 20 000 messages; by adjusting five RocketMQ consumer parameters—pullBatchSize, consumeThreadMin/Max, adjustThreadPoolNumsThreshold, pullTimeoutMillis, socketTimeoutMillis, and consumeMessageBatchMaxSize—the team reduced end‑to‑end latency to 500 ms, raised TPS to over 2500, and cleared the backlog.

ConfigurationRocketMQThread Pool
0 likes · 9 min read
How to Cut RocketMQ Consumer Latency from 10 s to 500 ms with Five Overlooked Settings