cta quote button

Best Books to Help You Learn Java

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Java: A Beginner’s Guide, Sixth Edition (2014)

Essential Java Programming Skills–Made Easy!

Fully updated for Java Platform, Standard Edition 8 (Java SE 8), Java: A Beginner’s Guide, Sixth Edition gets you started programming in Java right away. Bestselling programming author Herb Schildt begins with the basics, such as how to create, compile, and run a Java program. He then moves on to the keywords, syntax, and constructs that form the core of the Java language. This Oracle Press resource also covers some of Java’s more advanced features, including multithreaded programming, generics, and Swing. Of course, new Java SE 8 features such as lambda expressions and default interface methods are described. An introduction to JavaFX, Java’s newest GUI, concludes this step-by-step tutorial.

Designed for Easy Learning:

  • Key Skills & Concepts — Chapter-opening lists of specific skills covered in the chapter
  • Ask the Expert — Q&A sections filled with bonus information and helpful tips
  • Try This — Hands-on exercises that show you how to apply your skills
  • Self Tests — End-of-chapter quizzes to reinforce your skills
  • Annotated Syntax — Example code with commentary that describes the programming techniques being illustrated

The book’s code examples are available FREE for download.

Author(s): Herbert Schildt

2. Head First Java, 2nd Edition (2005)

Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn’t always want to take in the dry, technical stuff you’re forced to study.

The fact is your brain craves novelty. It’s constantly searching, scanning, waiting for something unusual to happen. After all, that’s the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won’t interfere with your brain’s real work–recording things that matter. How does your brain know what matters? It’s like the creators of the Head First approach say, suppose you’re out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge. That’s how your brain knows.

And that’s how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It’s fast, it’s fun, and it’s effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You’ll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.

If you’ve read a Head First book, you know what to expect–a visually rich format designed for the way your brain works. If you haven’t, you’re in for a treat. You’ll see why people say it’s unlike any other Java book you’ve ever read.

By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain–complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book’s for you.

Author(s): Kathy Sierra, Bert Bates

3. Java: The Complete Reference, Tenth Edition (Complete Reference Series) (2017)

The Definitive Java Programming Guide

Fully updated for Java SE 9, Java: The Complete Reference, Tenth Edition explains how to develop, compile, debug, and run Java programs. Bestselling programming author Herb Schildt covers the entire Java language, including its syntax, keywords, and fundamental programming principles. You’ll also find information on key portions of the Java API library, such as I/O, the Collections Framework, the stream library, and the concurrency utilities. Swing, JavaFX, JavaBeans, and servlets are examined and numerous examples demonstrate Java in action. Of course, the new module system added by Java SE 9 is discussed in detail. This Oracle Press resource also offers an introduction to JShell, Java’s new interactive programming tool.

Coverage includes:

Data types, variables, arrays, and operators

Control statements

Classes, objects, and methods

Method overloading and overriding

Inheritance

Interfaces and packages

Exception handling

Multithreaded programming

Enumerations, autoboxing, and annotations

The I/O classes

Generics

Lambda expressions

Modules

String handling

The Collections Framework

Networking

Event handling

AWT

Swing and JavaFX

The Concurrent API

The Stream API

Regular expressions

JavaBeans

Servlets

Much, much more

Code examples in the book are available for download at www.OraclePressBooks.com.

TAG:  For a complete list of Oracle Press titles, visit www.OraclePressBooks.com.

Author(s): Herbert Schildt

4. Java: A Beginner’s Guide, Seventh Edition (2017)

Up-to-Date, Essential Java Programming Skills―Made Easy!

Fully updated for Java Platform, Standard Edition 9 (Java SE 9), Java: A Beginner’s Guide, Seventh Edition, gets you started programming in Java right away. Bestselling programming author Herb Schildt begins with the basics, such as how to create, compile, and run a Java program. He then moves on to the keywords, syntax, and constructs that form the core of the Java language. The book also covers some of Java’s more advanced features, including multithreaded programming, generics, lambda expressions, Swing, and JavaFX. This practical Oracle Press guide features details on Java SE 9’s innovative new module system, and, as an added bonus, it includes an introduction to JShell, Java’s new interactive programming tool.

Designed for Easy Learning:

• Key Skills and Concepts―Chapter-opening lists of specific skills covered in the chapter
• Ask the Expert―Q&A sections filled with bonus information and helpful tips
• Try This―Hands-on exercises that show you how to apply your skills
• Self Tests―End-of-chapter quizzes to reinforce your skills
• Annotated Syntax―Example code with commentary that describes the programming techniques being illustrated

 

Author(s): Herbert Schildt

5. Effective Java (3rd Edition) (2017)

The Definitive Guide to Java Platform Best Practices—Updated for Java 7, 8, and 9

 

Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers.

 

As in previous editions, each chapter of Effective Java, Third Edition, consists of several “items,” each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.

 

The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams.

 

New coverage includes

  • Functional interfaces, lambda expressions, method references, and streams
  • Default and static methods in interfaces
  • Type inference, including the diamond operator for generic types
  • The @SafeVarargs annotation
  • The try-with-resources statement
  • New library features such as the Optional interface, java.time, and the convenience factory methods for collections

Register your product at informit.com/register for convenient access to the web edition eBook, updates, and/or corrections as they become available.

Author(s): Joshua Bloch

6. Learn Java in One Day and Learn It Well (Learn Coding Fast) (Volume 4) (2016)

New Book by Best-Selling Author Jamie Chan. Learn Java Programming Fast with a unique Hands-On Project. Book 4 of the Learn Coding Fast Series.

Have you always wanted to learn computer programming but are afraid it’ll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Java language fast?

This book is for you. You no longer have to waste your time and money trying to learn Java from boring books that are 600 pages long, expensive online courses or complicated Java tutorials that just leave you more confused and frustrated.

What this book offers…

Java for Beginners

Complex concepts are broken down into simple steps to ensure that you can easily master the Java language even if you have never coded before.

Carefully Chosen Java Examples

Examples are carefully chosen to illustrate all concepts. In addition, the output for all examples are provided immediately so you do not have to wait till you have access to your computer to test the examples.

Careful selection of topics (Covers Java 8)

Topics are carefully selected to give you a broad exposure to Java, while not overwhelming you with information overload. These topics include object-oriented programming concepts, error handling techniques, file handling techniques and more. In addition, new features in Java (such as lambda expressions and default methods etc) are also covered so that you are always up to date with the latest advancement in the Java language.

Learn The Java Programming Language Fast

Concepts are presented in a “to-the-point” style to cater to the busy individual. You no longer have to endure boring and lengthy Java textbooks that simply puts you to sleep. With this book, you can learn Java fast and start coding immediately.

How is this book different…

The best way to learn Java is by doing. This book includes a unique project at the end of the book that requires the application of all the concepts taught previously. Working through the project will not only give you an immense sense of achievement, it’ll also help you retain the knowledge and master the language.

Are you ready to dip your toes into the exciting world of Java coding? This book is for you. Click the “Add to Cart” button and download it now.

What you’ll learn:

Introduction to Java – What is Java? – What software do you need to code Java programs? – How to install and run JDK and Netbeans?
Data types and Operators – What are the eight primitive types in Java? – What are arrays and lists? – How to format Java strings – What is a primitive type vs reference type? – What are the common Java operators?
Object Oriented Programming – What is object oriented programming? – How to write your own classes – What are fields, methods and constructors? – What is encapsulation, inheritance and polymorphism? – What is an abstract class and interface?
Controlling the Flow of a Program – What are condition statements? – How to use control flow statements in Java – How to handle errors and exceptions – How to throw your own exception
and Others… – How to accept user inputs and display outputs – What is a generic? – What are lambda expressions and functional interface? – How to work with external files …and so much more….

Finally, you’ll be guided through a hands-on project that requires the application of all the topics covered.

Click the BUY button at the top of this page now to start learning Java. Learn it fast and learn it well.

Author(s): Jamie Chan

7. Java All-in-One For Dummies (For Dummies (Computers)) (2017)

Your one-stop guide to programming with Java

If you’ve always wanted to program with Java but didn’t know where to start, this will be the java-stained reference you’ll turn to again and again. Fully updated for the JDK 9, this deep reference on the world’s most popular programming language is the perfect starting point for building things with Java—and an invaluable ongoing reference as you continue to deepen your knowledge.

Clocking in at over 900 pages, Java All-in-One For Dummies takes the intimidation out of learning Java and offers clear, step-by-step guidance on how to download and install Java tools; work with variables, numbers, expressions, statements, loops, methods, and exceptions; create applets, servlets, and JavaServer pages; handle and organize data; and so much more.

  • Focuses on the vital information that enables you to get up and running quickly with Java
  • Provides details on the new features of JDK 9
  • Shows you how to create simple Swing programs
  • Includes design tips on layout, buttons, and labels

Everything you need to know to program with Java is included in this practical, easy-to-use guide!

Author(s): Doug Lowe

8. Core Java Volume I–Fundamentals (10th Edition) (Core Series) (2016)

Core Java® has long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers who want to write robust Java code for real-world applications. Now, Core Java®, Volume I—Fundamentals, Tenth Edition, has been extensively updated to reflect the most eagerly awaited and innovative version of Java in years: Java SE 8. Rewritten and reorganized to illuminate new Java SE 8 features, idioms, and best practices, it contains hundreds of example programs—all carefully crafted for easy understanding and practical applicability.

 

Writing for serious programmers solving real-world problems, Cay Horstmann helps you achieve a deep understanding of the Java language and library. In this first volume of the two-volume work, Horstmann focuses on fundamental language concepts and the foundations of modern user interface programming. You’ll find in-depth coverage of topics ranging from Java object-oriented programming to generics, collections, lambda expressions, Swing UI design, and the latest approaches to concurrency and functional programming. This guide will help you 

  • Leverage your existing programming knowledge to quickly master core Java syntax
  • Understand how encapsulation, classes, and inheritance work in Java
  • Master interfaces, inner classes, and lambda expressions for functional programming
  • Improve program robustness with exception handling and effective debugging
  • Write safer, more readable programs with generics and strong typing
  • Use pre-built collections to collect multiple objects for later retrieval
  • Master concurrent programming techniques from the ground up
  • Build modern cross-platform GUIs with standard Swing components
  • Deploy configurable applications and applets, and deliver them across the Internet
  • Simplify concurrency and enhance performance with new functional techniques 

If you’re an experienced programmer moving to Java SE 8, Core Java®, Tenth Edition, will be your reliable, practical companion—now and for many years to come.

 

Look for the companion volume, Core Java®, Volume II—Advanced Features, Tenth Edition (ISBN-13: 978-0-13-417729-8), for coverage of Java 8 streams, input and output, XML, databases, annotations, and other advanced topics.

 

Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

Author(s): Cay S. Horstmann

9. Java: The Complete Reference, Ninth Edition (2014)

The Definitive Java Programming Guide

Fully updated for Java SE 8, Java: The Complete Reference, Ninth Edition explains how to develop, compile, debug, and run Java programs. Bestselling programming author Herb Schildt covers the entire Java language, including its syntax, keywords, and fundamental programming principles, as well as significant portions of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. New Java SE 8 features such as lambda expressions, the stream library, and the default interface method are discussed in detail. This Oracle Press resource also offers a solid introduction to JavaFX.

Coverage includes:

  • Data types, variables, arrays, and operators
  • Control statements
  • Classes, objects, and methods
  • Method overloading and overriding
  • Inheritance
  • Interfaces and packages
  • Exception handling
  • Multithreaded programming
  • Enumerations, autoboxing, and annotations
  • The I/O classes
  • Generics
  • Lambda expressions
  • String handling
  • The Collections Framework
  • Networking
  • Event handling
  • AWT and Swing
  • The Concurrent API
  • The Stream API
  • Regular expressions
  • JavaFX
  • JavaBeans
  • Applets and servlets
  • Much, much more

Author(s): Herbert Schildt

10. Murach’s Java Programming (5th Edition) (2017)

This is the 5th edition of Murach’s classic Java book that’s trained thousands of developers in the last 15 years. Now fully updated to Java 9, this book helps any programmer learn Java faster and better than ever before:

  • It’s the one Java book that presents object-oriented features like inheritance, interfaces, and polymorphism in a way that’s both understandable and useful in the real world.
  • It offers new coverage of JavaFX, the date/time API, lambdas, and working with SQLite databases.
  • It uses a self-paced approach that works whether you’re a beginner or have years of programming experience.
  • It’s full of practical coding examples that enhance training and that provide starting code for new applications.
  • It lets you practice what you’ve just learned at the end of every chapter, to solidify your skills.
  • And it’s all done in the distinctive Murach style that has been training professional programmers for more than 43 years.

Author(s): Joel Murach, Anne Boehm

11. Java: An Introduction to Problem Solving and Programming (7th Edition) (2014)

Note: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If you would like to purchase both the physical text and MyProgrammingLab  search for ISBN-10: 0133862119/ISBN-13: 9780133862119. That package includes ISBN-10: 0133766268/ISBN-13: 9780133766264 and ISBN-10: 0133841030 /ISBN-13: 9780133841039.

MyProgrammingLab is not a self-paced technology and should only be purchased when required by an instructor.


Java: An Introduction to Problem Solving and Programming, 7e, is ideal for introductory Computer Science courses using Java, and other introductory programming courses in departments of Computer Science, Computer Engineering, CIS, MIS, IT, and Business. It also serves as a useful Java fundamentals reference for programmers.

 

Students are introduced to object-oriented programming and important concepts such as design, testing and debugging, programming style, interfaces inheritance, and exception handling. The Java coverage is a concise, accessible introduction that covers key language features. Objects are covered thoroughly and early in the text, with an emphasis on application programs over applets.

 

MyProgrammingLab for Java is a total learning package. MyProgrammingLab is an online homework, tutorial, and assessment program that truly engages students in learning. It helps students better prepare for class, quizzes, and exams–resulting in better performance in the course–and provides educators a dynamic set of tools for gauging individual and class progress.

 

Teaching and Learning Experience

This program presents a better teaching and learning experience—for you and your students.

  • Personalized Learning with MyProgrammingLab: Through the power of practice and immediate personalized feedback, MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of programming.
  • A Concise, Accessible Introduction to Java: Key Java language features are covered in an accessible manner that resonates with introductory programmers.
  • Tried-and-true Pedagogy: Numerous case studies, programming examples, and programming tips are used to help teach problem-solving and programming techniques.
  • Flexible Coverage that Fits your Course: Flexibility charts and optional graphics sections allow instructors to order chapters and sections based on their course needs.
  • Instructor and Student Resources that Enhance Learning: Resources are available to expand on the topics presented in the text.

Author(s): Walter Savitch

12. Java Concurrency in Practice (2006)

“I was fortunate indeed to have worked with a fantastic team on the design and implementation of the concurrency features added to the Java platform in Java 5.0 and Java 6. Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book.”
–Martin Buchholz
JDK Concurrency Czar, Sun Microsystems

“For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's–and tomorrow's–systems.”
–Doron Rajwan
Research Scientist, Intel Corp

“This is the book you need if you're writing–or designing, or debugging, or maintaining, or contemplating–multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover.”
–Ted Neward
Author of Effective Enterprise Java

“Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance.”
–Kirk Pepperdine
CTO, JavaPerformanceTuning.com

“This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it.”
–Dr. Cliff Click
Senior Software Engineer, Azul Systems

“I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today.”
–Dr. Heinz Kabutz
The Java Specialists' Newsletter

“I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery–it's destined to be a very important book.”
–Bruce Tate
Author of Beyond Java

Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere.”
–Bill Venners
Author of Inside the Java Virtual Machine

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

This book covers:

  • Basic concepts of concurrency and thread safety
  • Techniques for building and composing thread-safe classes
  • Using the concurrency building blocks in java.util.concurrent
  • Performance optimization dos and don'ts
  • Testing concurrent programs
  • Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Author(s): Brian Goetz, Tim Peierls