Ready to gain more knowledge about Java? Are you looking for something to read during a lunch break or after work? Is your bedside table bare? Do you want to share the gift of Java knowledge with your colleagues or with aspiring developers? Check out the following recently published or forthcoming titles on a variety of Java-related topics. Excerpts from the publishers’ descriptions are provided here to give you a sense of what you can learn.
OCP Oracle Certified Professional Java SE 17 Developer (Exam 1Z0-829) Programmer’s Guide
By Khalid A. Mughal, Vasily A. Strelnikov
Oracle Press, 1851 pages
This is a unique guide that combines a rigorous introduction to programming in Java with meticulous coverage of the Java SE 17 and Java SE 11 Developer exam objectives. Fully updated to reflect changes in the latest exams, it features an increased focus on analyzing code scenarios—not just individual language constructs. Each objective is thoroughly addressed, reflecting the latest features and APIs, as well as best practices for taking the exam. The only book anyone needs to study for Java SE 17 Developer or Java SE 11 Developer certification. Book features include:
Test-Driven Development with Java
By Alan Mellor
Packt Publishing, 348 pages
Test-driven development enables developers to craft well-designed code and prevent defects. It’s a simple yet powerful tool that helps you focus on your code design, while automatically checking that your code works correctly. Mastering TDD will enable you to effectively utilize design patterns and become a proficient software architect.
The book begins by explaining the basics of good code and bad code, bursting common myths, and why Test-driven development is crucial. You’ll then gradually move toward building a sample application using TDD, where you’ll apply the two key rhythms—red, green, refactor and arrange, act, assert. Next, you’ll learn how to bring external systems such as databases under control by using dependency inversion and test doubles.
As you advance, you’ll delve into advanced design techniques such as SOLID patterns, refactoring, and hexagonal architecture. You’ll also balance your use of fast, repeatable unit tests against integration tests using the test pyramid as a guide. The concluding chapters will show you how to implement TDD in real-world use cases and scenarios and develop a modern REST microservice backed by a database in Java 17.
By the end of this book, you’ll be thinking differently about how you design code for simplicity and how correctness can be baked in as you go.
Practical Design Patterns for Java Developers
By Miroslav Wengner
Packt Publishing, 266 pages
Design patterns are proven solutions to standard problems in software design and development, allowing you to create reusable, flexible, and maintainable code. This book enables you to upskill by understanding popular patterns to evolve into a proficient software developer.
You’ll start by exploring the Java platform to understand and implement design patterns. Then, using various examples, you’ll create different types of vehicles or their parts to enable clarity in design pattern thinking, along with developing new vehicle instances using dedicated design patterns to make the process consistent.
As you progress, you’ll find out how to extend vehicle functionalities and keep the code base structure and behavior clean and shiny. Concurrency plays an important role in application design, and you’ll learn how to employ a such design patterns with the visualization of thread interaction. The concluding chapters will help you identify and understand anti-pattern utilization in the early stages of development to address refactoring smoothly.
The book covers the use of Java 17+ features such as pattern matching, switch cases, and instances of enhancements to enable productivity.
By the end of this book, you’ll have gained practical knowledge of design patterns in Java and be able to apply them to address common design problems.
By Ben Weidig
O’Reilly, 400 pages
Java developers usually tackle the complexity of software development through object-oriented programming (OOP). But not every problem is a good match for OOP. The functional programming (FP) paradigm offers you another approach to solving problems, and Java provides easy-to-grasp FP tools such as lambdas and streams. If you’re interested in applying FP concepts to your Java code, this book is for you.
Author Ben Weidig highlights different aspects of functional programming and shows you how to incorporate them in your code without going “fully functional.” You’ll learn how, when, and why to use FP concepts such as immutability and pure functions to write more concise, reasonable, and future-proof code. Many developers seek to expand their horizons by using OOP and FP together. It’s no longer either-or; it’s both.
In two parts, this book includes:
Troubleshooting Java: Read, Debug, and Optimize JVM Applications
By Laurențiu Spilcă
Manning Publications, 328 pages
Searching for bugs, detangling messy legacy code, or evaluating your codebase for new features sucks up much of a developer’s time. This book teaches code investigation techniques that will help you efficiently understand how Java apps work, how to optimize them, and how to fix the bugs that break them. You’ll go from the basics of debugging to advanced methods for locating problems in microservices architectures, and save yourself hours—or even days—of time. Each new technique is explained with lively illustrations and engaging real-world examples. You will learn how to:
Learning Spring Boot 3.0, third edition
By Greg L. Turnquist
Packt Publishing, 270 pages
Spring Boot 3 brings more than just the powerful ability to build secure web apps on top of a rock-solid database. It delivers new options for testing, deployment, Docker support, and native images for GraalVM, along with ways to squeeze out more efficient usage of existing resources.
This third edition of the bestseller starts off by helping you build a simple app, and then shows you how to secure, test, bundle, and deploy it to production. Next, you’ll familiarize yourself with the ability to go “native” and release using GraalVM. As you advance, you’ll explore reactive programming and get a taste of scalable web controllers and data operations. The book goes into detail about GraalVM native images and deployment, teaching you how to secure your application using both routes and method-based rules and enabling you to apply the lessons you’ve learned to any problem. If you want to gain a thorough understanding of building robust applications using the core functionality of Spring Boot, then this is the book for you.
By the end of this Spring Boot book, you’ll be able to build an entire suite of web applications using Spring Boot and deploy them to any platform you need.
Beginning Spring Boot 3: Build Dynamic Cloud-Native Java Applications and Microservices
By K. Siva Prasad Reddy, Sai Upadhyayula
Apress, 450 pages
Learn the Spring Boot 3 micro framework and build your first Java-based cloud-native applications and microservices. Spring Boot is the lightweight, nimbler cousin to the bigger Spring Framework, with plenty of “bells and whistles.” This updated edition includes coverage of Spring Native, which will help you speed up your Spring Boot applications, as well as messaging with Spring Boot, Spring GraphQL, Spring Data JDBC and reactive relational database connectivity (R2DBC) with SQL.
This new edition also covers enhancements to actuator endpoints, MongoDB 4.0 support, layered JAR and WAR support, support to build OCI images using Cloud Native Build Packs, changes to the DataSource initialization mechanism, and how bean validation support has moved to a separate spring-boot-validation-starter module. This book will teach you how to work with relational and NoSQL databases for data accessibility using Spring Boot with Spring Data, how to persist data with the Java Persistence APIs (JPA), MyBatis, and much more. You’ll learn how to enhance your native cloud or web applications with other APIs such as REST and how to build reactive web applications using Spring Boot with WebFlux.
Finally, you’ll learn how to test applications using JUnit 5, as well as how to secure and deploy your application or service to cloud providers like Heroku. After reading this book, you’ll have the skills needed to start building your own Spring Boot cloud-native, Java-based applications and microservices with confidence, and to take the next steps in your career. You will learn how to:
Java Persistence with Spring Data and Hibernate
By Cătălin Tudose
Manning Publications, 616 pages
This book teaches you the ins-and-outs of Java persistence with hands-on examples using Spring Data, JPA, and Hibernate. The book carefully analyzes the capabilities of the major Java persistence tools and guides you through the most common use cases. By comparing and contrasting the alternatives, you’ll find it easy to choose the right tool choice for your applications. You’ll learn how to make and utilize mapping strategies, about the different approach to transactions for both Hibernate and Spring Data, and even how to efficiently test Java persistence applications. The practical techniques are demonstrated with both relational and non-relational databases. You will learn about:
Introduction to Java Through Game Development
By Victor G. Brusca
Apress, 248 pages
Interested in learning how to program with Java? Let’s face it, the best way to learn to program is by writing programs. This can be a daunting proposition with the specter of hours of simple command line example programs hanging over your head. Fear not! Now you can learn to program in Java in a fun way by working on video games.
With this book, you’ll get to work with three Java game projects and have access to the complete game code for each project, including a full Java game engine. After completing this book, you’ll be proficient in Java programming, having worked with the language’s fundamental aspects throughout the text, and will be ready to further your Java and game programming expertise with confidence. You will:
By Maaike van Putten, Seán Kennedy
Packt Publishing, 146 pages
Understanding how Java organizes memory is important for every Java professional, but this particular topic is a common knowledge gap for many software professionals. Having in-depth knowledge of memory functioning and management is incredibly useful in writing and analyzing code, as well as debugging memory problems. In fact, it can be just the knowledge you need to level up your skills and career.
In this book, you’ll start by working through the basics of Java memory. After that, you’ll dive into the different segments individually. You’ll explore the stack, the heap, and the Metaspace. Next, you’ll be ready to delve into JVM standard garbage collectors. The book will also show you how to tune, monitor and profile JVM memory management. Later chapters will guide you on how to avoid and spot memory leaks.
By the end of this book, you’ll have understood how Java manages memory and how to customize it for the benefit of your applications.
MySQL Database Service Revealed
By Charles Bell
Apress, 392 pages
Access all the information you need to begin using the MySQL Database Service (MDS) in the Oracle Cloud Infrastructure (OCI). MDS is Oracle’s new platform as a service (PAAS) offering for open-source database users. This book covers getting started with an account in OCI, gives a brief overview of OCI services available, and provides a short tutorial on MDS. Reading this book helps you take advantage of the powerful OCI features by building your own MySQL database in the cloud.
Examples in this book center around running MDS in OCI, and include several of the popular use cases as well as advice on how to implement them. In addition, you will learn more about the related MDS OCI features, such as the high availability features currently available. Finally, you will learn how to back up and restore your data as well as how to get your data into and out of the cloud. The skills you learn in this book will help you get started using MDS and letting Oracle do the heavy lifting of managing MDS operations and implementation. You will learn how to:
Java in a Nutshell, eighth edition
By Benjamin J. Evans, Jason Clark, David Flanagan
O’Reilly, 431 pages
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on recent enhancements to the Java object model that every developer should know about. The first section provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform. The second section is a reference to core concepts and APIs that explains how to perform real programming work in the Java environment. You will:
Java: A Beginner’s Guide, 10th edition
By Herbert Schildt and Danny Coward
McGraw Hill Professional Computing
Thoroughly updated for Java 21, this hands-on resource shows, step by step from the very first chapter, how to get started programming in Java. The book starts with the basics, such as how to create, compile, and run a Java program. From there, you will learn essential Java keywords, syntax, and commands.
Java: The Complete Reference, 13th edition
By Herbert Schildt and Danny Coward
McGraw Hill Professional Computing
Fully updated for Java 21, this practical guide shows, step by step, how to design, write, troubleshoot, run, and maintain high-performance Java programs. This book covers the entire Java language, including its syntax, keywords, and libraries.
Alan Zeichick is editor in chief of Java Magazine and editor at large of Oracle’s Content Central group. A former mainframe software developer and technology analyst, Alan has previously been the editor of AI Expert, Network Magazine, Software Development Times, Eclipse Review, and Software Test & Performance. Follow him on Twitter @zeichick.