This site publishes hands-on programming tutorials — mostly Java, Spring Boot, and AI. Every post is tested before it is published. If you want the full standard the code is held to, read the Editorial Policy.
Who Writes Here

I'm Yong Mook Kim — most people know me as Mkyong. Software engineer with over 20 years of hands-on experience and more than 15 years of technical writing. I work independently these days, splitting my time between personal R&D and watching my kids grow up.
A small number of posts are written or updated by others. Whoever wrote a post, the same standards apply: the code is run before it goes out, and I review it.
What You Will Find Here
Working examples, not theory dumps. Most posts fall into a few buckets:
- Core Java — new language features, the standard library, the things that changed between releases.
- Spring Boot — web, data, testing, and the parts of the framework people actually ship.
- AI — building on top of models with Spring AI and friends.
- An older archive of tutorials going back to 2008, reviewed and updated a piece at a time.
Every example is a complete, runnable file with the output printed underneath it. You should be able to copy it, run it, and get the same result.
Why I Stopped, and Why I'm Back
I stopped because I ran out of things worth adding. The web had filled up with near-identical tech sites, and Stack Overflow was already answering most day-to-day bugs. Whatever I sat down to write had been written five times already. Publishing one more copy of it helped nobody.
That has changed. AI now does a lot of the slow work — the first draft, the boilerplate, the quick-fix troubleshooting people used to come here for. What is left is the part that still needs a person: running the code until it actually works, and digging into what is new.
So that is where my time goes now. New releases, real testing, and a slow pass back through the old archive to see what still holds up.
Every Example Is Run First
Code here is compiled and run in a real development environment, and in some cases in live production. It is copied straight out of working projects, never typed from memory. Exact versions are listed for every dependency and tool, so you know what the example was tested against.
AI tools are part of my workflow, but they do not decide what gets published. The details are on the Editorial Policy page.
Contact
If something here is broken, outdated, or wrong, tell me — that's the fastest way it gets fixed.