CJDGet early access

Launching soon

Something new for Java developers. Coming soon.

A place to learn, ask and grow your Java career, together.

Be the first in when we open the doors.

Learn

Prepare smarter for Java interviews.

Ask

Get real answers from Java developers.

Grow

Connect with people who've been there.

A little sneak peek

Sneak peek: sample data

creativejavadevelopers.com

Recent questions

  • I put an object into a HashMap, then updated one of its fields. Now get() returns null even though the entry is clearly still there.

    Top answer

    The key's hashCode() changed after you inserted it, so the map now looks in the wrong bucket. Keys should be immutable, or at least the fields used by equals() and hashCode() should never change while the object is in the map...

  • Our service has pauses every few minutes. I enabled GC logging but the output is a wall of numbers. Where do I even start?

    Top answer

    Start with three things per line: the pause type, the heap before and after, and the pause time. If the heap after a full collection keeps growing, you're probably looking at a leak rather than a tuning problem...

  • We have a lot of blocking HTTP calls. Is it worth switching to virtual threads, or is a tuned thread pool still the safer choice?

    Top answer

    For mostly blocking I/O, virtual threads are a great fit: you write the same simple blocking code but can run far more tasks at once. Watch out for long synchronized blocks, which can pin the carrier thread...

Want early access?

Drop your email.

Hiii! 👋

Join the CJD waitlist