Return to site

[VV133] The Java Fullstack Newsletter

October 4, 2025

📢 Hello Fullstackers!

The comeback season is in full swing — first results are showing, and with them comes the most precious fuel for improvement: feedback. Whether it’s a sprint review, code review, or user feedback, each insight is a chance to grow stronger.

💡 “Feedback is the breakfast of champions.” — Ken Blanchard

In this edition, you’ll not only find practical tips on giving and receiving feedback/

Let’s take feedback as a compass — pointing us toward better teamwork, sharper code, and stronger projects. 🚀

#kafka

How to delete a Kafka topic immediately (no waiting)?

🛑 Stop Kafka, then run: rmr /brokers/topics/

⚙️ Set delete.topic.enable=true, then: kafka-topics --delete ...

🚫 Set delete.topic.enable=false, then: kafka-topics --delete ...

Answer: ✅ The closest to immediate is: Stop Kafka, then run rmr /brokers/topics/.

👉 kafka-topics --delete marks the topic for deletion, but logs may not be removed right away.

👉 Removing the ZooKeeper node (/brokers/topics/) forces deletion immediately.

Tip: This is a low-level, disruptive action—use with care in non-prod or during maintenance.

#team

Constructive feedback

🔸 CONSTRUCTIVE FEEDBACK: KEEP IT SHORT & USEFUL 💬

🔸 WHY IT MATTERS

▪️ Drives improvement, motivation, and productivity 🚀

🔸 HOW TO GIVE IT

▪️ Share only actionable value (something they can use) 🎯

▪️ Focus on specific behaviors, not the person 🔍

▪️ Be timely—give feedback close to the event ⏱️

▪️ Stay respectful; avoid labels or insults 🤝

▪️ Be open to feedback yourself 🔄

🔸 EXTRA TIPS

▪️ Use “I” statements (“I’m blocked when meetings start late”) 🗣️

▪️ End on a positive, forward-looking note ✅

▪️ Follow up to check progress and support 📈

🔸 TL;DR

▪️ Specific + timely + respectful + actionable = feedback that sticks 💡

#Leadership #Teamwork #Management #Feedback #SoftSkills #GrowthMindset #Productivity

#java

🔸 JDK MISSION CONTROL 9.1.0 — NEWBIE JVM BROWSER GUIDE 🚀

🔸 HOW TO START (30s SETUP) ⚙️

▪️ Launch JMC 9.1.0 → JVM Browser (top‑left).

▪️ Select your JVM → Right‑click to start JMX Console or Start Flight Recording….

▪️ Prefer Time‑fixed (profiling) for short deep dives; Continuous for long‑running apps.

▪️ Tweak JVM scan frequency in Preferences if you want faster discovery.

🔸 TOP 10 SPOTS IN THE JVM BROWSER 🔍

The most useful places a beginner should check first — with what to read and why it matters.

🔸 1) OVERVIEW (JMX CONSOLE) — YOUR COCKPIT 🧭

▪️ What to see: CPU %, Heap Used, Threads Live/Daemon, GC activity, quick charts.

▪️ Why: Fast sanity check after deploys; add/remove charts to track exactly what you care about.

▪️ Tip: Click Add chart ➜ drag attributes (e.g., java.lang:type= Memory/HeapMemoryUsage.used).

🔸 2) SYSTEM / RUNTIME — WHO AM I RUNNING? 🖥️

▪️ What to see: Java version, vendor, uptime, PID, command line, OS/arch, process memory (RSS), thread count.

▪️ Why: Confirms environment (JDK, flags) actually matches what prod/staging claims.

▪️ Tip: Screenshot this in incident reports to avoid “works on my machine”.

🔸 3) MEMORY (HEAP & METASPACE) — HEALTH CHECK 🧠

▪️ What to see: Heap used/max, pool breakdown (Young/Old), Metaspace usage, GC pause time trend.

▪️ Why: Detect leaks/pressure; rising Old Gen with frequent minor GCs is a red flag.

▪️ Tip: Watch Promotion rate and GC pauses together to spot allocation storms.

🔸 4) GC CONFIGURATION — WHICH COLLECTOR & THREADS ♻️

▪️ What to see: Collector type (G1/ZGC/Parallel), GC/conc. thread counts, pause targets.

▪️ Why: Mismatch between workload and collector = avoidable latency.

▪️ Tip: For latency‑sensitive services, verify you’re on G1/ZGC and check pause goals.

🔸 5) THREADS — LIVENESS & CONTENTION 🧵

▪️ What to see: Live/daemon counts, blocked/waiting threads, deadlock detector, stack traces.

▪️ Why: Spikes in blocked time point to locks, synchronized hotspots, or I/O stalls.

▪️ Tip: Sort by Blocked Time; capture stacks of the worst offenders.

🔸 6) CLASS LOADING — STARTUP & MEM FOOTPRINT 📚

▪️ What to see: Loaded/Unloaded classes, total count trend.

▪️ Why: Runaway class loading (dynamic proxies, hot reloading) drives Metaspace growth.

▪️ Tip: Flat line is good; steady climb during steady‑state hints at leaks.

🔸 7) MBEAN BROWSER — LIVE KNOBS & TELEMETRY 🎛️

▪️ What to see: java.lang:* (MemoryMXBean, ThreadMXBean), com.sun.management (HotSpot), app‑specific MBeans.

▪️ Why: Inspect attributes in real time; invoke operations safely (e.g., dump heap via HotSpotDiagnostic).

▪️ Tip: Pin attributes to charts; adjust update period for smoother visuals.

🔸 8) FLIGHT RECORDER (JFR) — TIME‑TRAVEL ANALYSIS 🎥

▪️ What to see: Start Profiling or Continuous recording; open .jfr to view Method profiling, Locks, GC, I/O, Allocations.

▪️ Why: Low‑overhead timeline of what actually happened during incidents.

▪️ Tip: Keep a continuous ring buffer in prod; dump on alert for post‑mortems.

🔸 9) DIAGNOSTIC COMMANDS — POWER TOOLS 🛠️

▪️ What to see: Under com.sun.management/DiagnosticCommand MBean, run Thread.print, GC.class_histogram, JFR.dump, etc.

▪️ Why: One‑click captures without SSHing into boxes.

▪️ Tip: Automate common commands and attach outputs to tickets.

🔸 10) JMC AGENT — ENRICH YOUR EVENTS 🧩

▪️ What to see: Agent Live Config under the JVM ➜ map app telemetry to custom JFR events without code changes.

▪️ Why: Add business/domain signals (tenant, orderId, endpoint) directly into recordings.

▪️ Tip: Keep configs versioned; treat them like code.

🔸 TL;DR 🧾

▪️ Start in Overview, confirm System/Runtime, then dive into Memory, Threads, GC Config.

▪️ Use MBean Browser for live knobs; use JFR for time‑travel proofs.

▪️ Diagnostic Commands = incident shortcuts; JMC Agent = richer events.

▪️ Always compare against a baseline.

#scrum

🔸 PRODUCT BACKLOG: NOT ONLY THE PO 📘

🔸 WHAT THE SCRUM GUIDE SAYS

▪️ “The Product Owner is responsible for the Product Backlog—content, availability, ordering.”

▪️ Refinement is collaborative: PO + Developers work together on item details.

🔸 KEY POINT

▪️ “Responsible” ≠ “does everything.” PO owns outcomes; the team collaborates to create/reorder for value.

🔸 WHY THE MYTH PERSISTS

▪️ PO with business-only mindset gatekeeps the backlog.

▪️ Rigid, rule-driven reading of Scrum instead of purpose-driven use.

🔸 BACK TO ESSENTIALS

▪️ Scrum reduces product risk through close collaboration, not hierarchy.

▪️ Developers can add/reorder items; PO remains accountable.

▪️ Scrum Master enables healthy collaboration.

🔸 PRACTICAL TIPS

▪️ Run product discovery workshops with the whole team.

▪️ In tools (e.g., Jira), allow Developers to edit/reorder; define team working agreements.

▪️ Scrum Masters coach on “why” (risk reduction) over dogma.

🔸 TL;DR

▪️ Collaboratively manage the backlog; PO is accountable, the team co-creates for maximum value. 🤝

#Scrum #ProductBacklog #Agile #ProductOwner #ScrumMaster #Developers #Collaboration

#cloudNative

Which project exposes services across clusters and supports multicluster discovery?

Pick one:

  1. SMI
  2. KubeFed
  3. Cluster API
  4. Submariner

✅ Correct Answer: 4. Submariner

💡 Why? Submariner connects clusters so services can reach each other and be discovered across clusters.

❌ Why the others are wrong:

  • SMI → A spec for service meshes, not for cross-cluster exposure.
  • KubeFed → Federates clusters, but not focused on multicluster service discovery.
  • Cluster API → Manages cluster lifecycle, not service discovery.

#joke

My husband asked me why I speak so softly in the house.

I said I was afraid Mark Zuckerberg was listening.

He laughed.

I laughed.

Alexa laughed.😆

Siri laughed.😂

The Tesla next door laughed. 🤣

Go further with Java certification:

Java👇

Spring👇