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)

HTTP/2

After almost 20 years since the last release of HTTP, the newest version of HTTP was released in 2015. This new version of the protocol has several enhancements vis-à-vis previous versions. Some of these enhancements also affect the way server applications will be developed.

The first and most important enhancement is that the new protocol will make it possible to send several resources parallel in a single TCP connection. The keep-alive flag was already available to avoid the recreation of the TCP channel, but it does not help when a response is created slowly. In the new protocol, other resources can also be delivered in the same TCP channel, even before a request is fully served. This requires complex package handling in the protocol. This is hidden from the server application programmer as well as the browser programmer. The application server, the servlet container...