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

Compiling multiple modules with the Java 9 compiler


Create a sub-folder named mods within the base directory named Renderer. This new sub-folder will replicate the directory structure that we created in the Renderer/src (Renderer\src in Windows) folder. We will run the Java compiler to generate a Java class file for each Java source file. A Java class file will contain Java bytecode that can be executed on the Java Virtual Machine, also known as the JVM. We will have a file with the .class extension for each Java source file with the .java extension, including the module descriptors. For example, after we successfully use the Java compiler to compile the Renderer/src/com.renderer.math/com/renderer/math/Vector3d.java source file, the compiler will generate a Renderer/mods/com.renderer.math/com/renderer/math/Vector3d.class file with Java bytecode (known as a Java class file). In Windows, we must use a backslash (\) as the path separator instead of the slash (/).

Now, open a Terminal window...