Book Image

Java Projects - Second Edition

By : Peter Verhas
Book Image

Java Projects - Second Edition

By: Peter Verhas

Overview of this book

Java is one of the most commonly used software languages by programmers and developers. In this book, you’ll learn the new features of Java 11 quickly and experience a simple and powerful approach to software development. You’ll see how to use the Java runtime tools, understand the Java environment, and create a simple namesorting Java application. Further on, you'll learn about advanced technologies that Java delivers, such as web programming and parallel computing, and will develop a mastermind game. Moving on, we provide more simple examples, to build a foundation before diving into some complex data structure problems that will solidify your Java 11 skills. With a special focus on the features of new projects: Project Valhalla, Project Panama, Project Amber, and Project Loom, this book will help you get employed as a top-notch Java developer. By the end of the book, you’ll have a firm foundation to continue your journey toward becoming a professional Java developer.
Table of Contents (12 chapters)

IntervalGuesser

We discussed the different Java language elements and JDK classes that are all available to implement parallel algorithms. Now, we will see how to use these approaches to implement the parallel guesser for the Mastermind game.

Before we start, I have to admit that this task is not a typical concurrent, parallel programming tutorial task. Tutorials talking about concurrent programming techniques tend to select problems for their examples that are easy to solve using a parallel code and that scale well. A problem scales well if the parallel algorithm running on N processor practically runs N times faster than the non-parallel solution. My personal opinion is that those examples paint the sky blue without stormy clouds. However, when you face concurrent programming in real life, those clouds are there and you will see thunder and lightning, and, if you are not experienced...