Book Image

Mastering Java 9

By : Dr. Edward Lavieri, Peter Verhas
Book Image

Mastering Java 9

By: Dr. Edward Lavieri, Peter Verhas

Overview of this book

<p>Java 9 and its new features add to the richness of the language, one of the languages most used by developers to build robust software applications. Java 9 comes with a special emphasis on modularity with its integration with Jigsaw. This would be your one-stop guide to mastering the language.</p> <p>You'll be provided with an overview and explanation of the new features introduced in Java 9 and the importance of the new APIs and enhancements. Some of the new features of Java 9 are ground-breaking and if you are an experienced programmer, you will be able to make your enterprise application leaner by learning these new features. You'll be provided with practical guidance in applying the newly acquired knowledge in regards to Java 9 and further information on future developments of the Java platform. This book will improve your productivity, making your application faster. By learning the best practices in Java, you'll become the “go-to” person in your organization.</p> <p>By the end of the book, you'll not only know the important concepts of Java 9, but you'll also have a nuanced understanding of the important aspects of programming with this great language.</p>
Table of Contents (23 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Terminating processes


To terminate a process we can call the destroy() method or the destroyForcibly() method on the ProcessHandle instance. Both of these methods will terminate the process. The destroy() method is expected to terminate the process gracefully executing the process shutdown sequence. In this case the shutdown hooks added to the run time are executed if the actual implementation supports the graceful, normal termination of processes. The destroyForcibly() method will enforce process termination, and in this case the shutdown sequence will not be executed.

If the process managed by the handle is not alive then nothing happens when the code calls any of these methods. If there are any CompletableFuture objects created calling the onExit() method on the handle then they will be completed after the call to the destroy() or destroyForcefully() method when the process has terminated. This means that the CompletableFuture object will return from a join() or some similar method after...