Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Introducing garbage collection


At some specific time, your application won't require to work with an instance anymore. For example, once you have calculated the perimeter of a circle and you have returned the necessary data in the Web Service response, you don't need to continue working with the specific Circle instance anymore. Some programming languages require you to be careful about leaving live instances alive and you have to explicitly destroy them and deallocate the memory that it was consuming.

Java provides automatic memory management. The JVM runtime uses a garbage collection mechanism that automatically deallocates memory used by instances that aren't referenced anymore. The garbage collection process is extremely complicated, there are many different algorithms with their advantages and disadvantages, and the JVM has specific considerations that should be taken into account to avoid unnecessary huge memory pressure. However, we will keep our focus on the object's life cycle. In...