Java Cookbook
Ian F. Darwin
Publisher: O'Reilly Media.

Edition ISBN O'Reilly Link BookShop Link Amazon Link Notes
Fifth Edition, early 2025? ISBN TBA TBA TBA TBA Will have Coverage up to Java 23!
Fourth Edition, March 2020 978-1492072583 O'Reilly BookShop Amazon Fully updated for Java 13!
(And even some Java 14 stuff!)
Third Edition, 2014 978-1449337049 O'Reilly Amazon Updated for Java 8!
Second Edition, 2004) 0-596-00701-9 O'Reilly Obsolete - do not buy
First Edition, 2001)
0-596-00170-4 O'Reilly Obsolete - do not buy
Java Cookbook cover github

What they're saying...

"I am impressed by how many topics are covered, including many less-common problems..." Andrew Binstock reviewing the fourth edition in Oracle Java Magazine

Java Cookbook: An Excellent Read
"The Java Cookbook is arguably the best book ever written on the Java programming language..."
Jack D. Martin, Computer Scientist, reviewing on Barnes & Noble.

"Its 800 pages are packed with information, all [in a ...] format which will rapidly get you on the right track when you make new uses of your Java knowledge in areas as wide ranging as String Handling to working with graphics, and from Internationalisation to JSPs."
Well House Consultants Book Review (archived at the wayback machine).

"I learned more in two days with this book than I did with several very good Java books because I need to see examples and how things work in context. If you're like that too, you'll love this book. I pack it with my laptop so I'm never without it when I need it -- it's that useful to me!"
Bruce Van Horn, reviewing on

"The most useful Java book of them all"
Stuart Wain, reviewing on


Fourth Edition released March/April, 2020. The eBook was released in March and the printed book in April.

Now available in Lots of Languages... Too many to list here. See the language links in the navigation bar. Be aware that most of these are for older editions of the book.

You can sign up for a low-volume mailing list to be notified about book news and events.


This book offers something for everyone who wants to learn more about Java. It makes an ideal second book of Java for any developer/analyst/architect, computer science student, or any other serious student of Java. I don't cover the basics of Java syntax, but start with coverage of essential APIs such as String handling, numbers, and dates and times. From there I move into object-oriented and functional programming with Streams, then on into networking (client, web services, brief coverage of server tech). I finish up with some important but sometimes-neglected aspects of Java such as Threads, other languages and native code.

For each topic I give around a dozen main ``how-to'' recipes consisting of a problem statement, a quick solution, and more detailed example with code attached (full code available from the download link).

-- Ian and the Java Hen Gang