Java Native Compiler in depth
Java Native Compiler in depth, available at $59.99, has an average rating of 4.88, with 43 lectures, based on 4 reviews, and has 166 subscribers.
You will learn about Compile Java Application into Native Executable Binary How Java Virtual Machine Executes an Application How to Develop a Command-Line Application Details of JVM Internals such as ClassPath This course is ideal for individuals who are Java Developers or Java Enthusiasts It is particularly useful for Java Developers or Java Enthusiasts.
Enroll now: Java Native Compiler in depth
Summary
Title: Java Native Compiler in depth
Price: $59.99
Average Rating: 4.88
Number of Lectures: 43
Number of Published Lectures: 43
Number of Curriculum Items: 43
Number of Published Curriculum Objects: 43
Original Price: $69.99
Quality Status: approved
Status: Live
What You Will Learn
- Compile Java Application into Native Executable Binary
- How Java Virtual Machine Executes an Application
- How to Develop a Command-Line Application
- Details of JVM Internals such as ClassPath
Who Should Attend
- Java Developers
- Java Enthusiasts
Target Audiences
- Java Developers
- Java Enthusiasts
Learn how to use GraalVM native-image tool to compile your Java application to a native executable binary. This allows you to get runtime speeds as fast as C++ applications! This course also teaches you in-depth knowledge of JDK tools and the required knowledge of command-line for running java applications.
– Section 1: Fundamentals of Java Applications
This section teaches you the fundamental concepts such as launching an application in terminal and environment variables such as “PATH” and “CLASSPATH” and how to access them inside a Java application. It also teaches you the meaning of command-line arguments and how to use them in an application.
– Section 2: Default Compiler Tool Chain
This section walks you through the installation process of the default compiler toolchain for each operating system. macOS uses Apple Clang (Xcode), whereas Linux uses the open-source GCC and Windows uses MSVC. You will learn how to ensure the correct installation and configuration of these toolchains.
– Section 3: Introduction to GraalVM Native-Image
This section provides the introduction to GraalVM and native-image. You will learn how to download and install GraalVM and how to run the native-image tool. It walks you through all the steps for writing a simple “HelloWorld” java application and compiling it to a native executable binary.
– Section 4: Compiling Java Applications with Native-Image
This section is the more serious introduction to the native-image tool from GraalVM. You will learn about the outputs that native-image provides while compiling your java application. You will also learn how to provide build configuration by passing various flags to the native-image on the command-line. The important concept of pipelining and redirection of commands on the terminal is also discussed in this section.
– Section 5: Eclipse IDE’s External Tool
This section provides an in-depth introduction to Eclipse’s IDE external tool. It is highly recommended to use Eclipse IDE in conjunction with the native-image tool to seamlessly compile your java applications to the native executable binary. It also shows you how to handle jar dependencies of your java application when using Maven build tool.
– Section 6: Native-Image Options
This section describes the most important flags that you can set when running native-image from the terminal. It also introduces how to handle dynamic features of java such as Reflections, Dynamic class loading, JNI, by invoking the tracing agent that is embedded in the GraalVM’s JVM. Once the configuration files are created, you’ll learn how to pass them to the native-image compiler so that the final executable binary can be run successfully.
– Section 7: Parsing Command-Line Arguments
This interesting section describes the use of a java library called “JCommander” that provides an easy-to-use API for parsing command-line arguments of a java application and creating objects or setting the state of objects. You will learn how to instruct native-image to work with JCommander so that the final executable binary also benefits from easily parsing command-line arguments.
– Section 8: Native-Image Official Documentation
This section provides the link to the online documentation of the native-image tool.
– Section 9: Resources (PowerPoint, source codes, …)
You will find the complete set of PowerPoint slides of the course in this section.
Course Curriculum
Chapter 1: Fundamentals of Java Applications
Lecture 1: Introduction to GraalVM and Java Applications
Lecture 2: Command-Line Applications & PATH Environment Variable
Lecture 3: The Concept of "CLASSPATH"
Lecture 4: How to Define "CLASSPATH" Environment Variable
Lecture 5: Command-Line Arguments
Lecture 6: Environment Variables Inside Java Application
Chapter 2: Default Compiler Tool Chains
Lecture 1: MacOS Default Tool Chain: Apple clang
Lecture 2: Linux Default Tool Chain: GCC
Lecture 3: Windows Default Tool Chain: MSVC
Lecture 4: Eclipse CDT and Terminal
Lecture 5: File Permissions and Attributes
Chapter 3: Introduction to GraalVM Native-Image
Lecture 1: Setting up GraalVM Native-Image in Mac OS
Lecture 2: Compiling a Simple Java Application Using Native-Image
Lecture 3: Setting up GraalVM Native-Image in Linux Ubuntu
Lecture 4: Setting up GraalVM Native-Image in Windows 10
Chapter 4: Compiling Java Applications with Native-Image
Lecture 1: A Simple "HelloWorld" Application
Lecture 2: Native-Image Console Output
Lecture 3: Native-Image Build Stages
Lecture 4: Native-Image Build Output Options
Lecture 5: Terminal Pipelining and Redirection
Chapter 5: Eclipse IDE's External Tool
Lecture 1: Introduction to Eclipse IDE's External Tool
Lecture 2: Most Important Variables for External Tool
Lecture 3: Passing Arguments to Eclipse IDE's Internal Variables
Lecture 4: Setting up Native-Image as External Tool
Lecture 5: Maven: Setting up Native-Image as External Tool
Lecture 6: Maven: Managing Dependencies for Native-Image Compilation
Chapter 6: Native-Image Options
Lecture 1: Classpath Options
Lecture 2: Creating and Compiling Jar Files
Lecture 3: Handling Java Reflection API
Lecture 4: GraalVM Tracing Agent
Lecture 5: Tracing Agent: Merging Configuration Files
Lecture 6: Tracing Agent: Periodic Updates
Lecture 7: Handling Resources: Text Files — Part 1
Lecture 8: Handling Resources: Text Files — Part 2
Lecture 9: Handling Resources: Text Files — Part 3
Lecture 10: Handling Java Native Interface (JNI) Calls
Lecture 11: Extracting JNI Dynamic Library from Executable File
Lecture 12: Caching JNI Dynamic Library to User Home Directory
Chapter 7: Parsing Command-Line Arguments
Lecture 1: Introduction to JCommander Framework
Chapter 8: Native-Image Official Documentation
Lecture 1: Native-Image Online Documentation (version 22.1.0)
Chapter 9: Resources (Powerpoint, source codes, …)
Lecture 1: Complete Powerpoint Slides
Lecture 2: Source codes
Lecture 3: Youtube Resources Regarding Native-Image
Instructors
-
Meisam Bahadori
Engineer
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 1 votes
- 5 stars: 3 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024