Book Image

Transitioning to Java

By : Ken Fogel
Book Image

Transitioning to Java

By: Ken Fogel

Overview of this book

This comprehensive guide will help non-Java developers already using different languages transition from their current language to all things Java. The chapters are designed in a way that re-enforces a developer’s existing knowledge of object-oriented methodologies as they apply to Java. This book has been divided into four sections, with each section touching upon different aspects that’ll enable your effective transition. The first section helps you get to grips with the Java development environment and the Maven build tool for modern Java applications. In the second section, you’ll learn about Java language fundamentals, along with exploring object-oriented programming (OOP) methodologies and functional programming and discovering how to implement software design patterns in Java. The third section shows you how to code in Java on different platforms and helps you get familiar with the challenges faced on these platforms. In the fourth section, you’ll find out how you can manage and package your Java code. By the end of this Java programming book, you’ll have learned the core concepts of Java that’ll help you successfully transition from a different language to Java.
Table of Contents (23 chapters)
1
Part 1:The Java Development Environment
5
Part 2:Language Fundamentals
15
Part 3:GUI and Web Coding in Java
19
Part 4:Packaging Java Code

Creating a custom JRE with jlink

We will use the jlink tool that is part of the Java JDK to create our custom JRE. We will begin by creating a JRE that contains all the required modules:

jlink --add-modules ALL-MODULE-PATH --output jdk-17.0.2-jre
      --strip-debug --no-man-pages --no-header-files
      --compress=2

This is one line. In Linux, you can enter a multiline command using the backslash (\), while in Windows, you use the caret (^). The output of this command will be a folder named jdk-17.0.2-jre that contains a JRE of only 76 MB. This is smaller than the original JRE, but we do not want all the Java modules; we just need three. Here is our new command:

jlink --add-modules java.base,java.desktop,java.logging
      --output jdk-17.0.2-minimaljre --strip-debug
      --no-man-pages --no-header-files --compress=2

We will now have a new JRE in the...