Java Native Interface (28-Hour Course)

freeCodeCamp
via YouTube
Become an expert the Java Native Interface with this 28-hour course.
Save (0)
ClosePlease login

No account yet? Register

Course Contents

(00:00:00) Introduction to Java Native Interface (JNI)
(00:19:17) A Simple Java/C++ Project in NetBeans IDE
(00:34:14) A Closer Look at JNI Header Files
(01:06:36) Setting up C/C++ Development in Eclipse IDE
(01:35:49) Configuring External Tool to Generate Header Files
(01:59:34) Exporting Java Project to jar File With Dynamic Libraries
(02:20:55) Configuring External Tool for JDK 9 or Later
(02:32:59) Overloading Native Methods
(02:57:45) Overriding Native Methods
(03:13:17) Signature of Overloaded Native Methods in C++ (Part 1)
(03:45:23) Signature of Overloaded Native Methods in C++ (Part 2)
(04:05:44) Order of Execution for Static Initializers in the Class Hierarchy
(04:26:27) Working with JNI Primitive Types
(04:59:56) Working with Primitive Arrays
(05:33:52) Working with Object Arrays
(06:21:03) Working with Strings
(07:03:49) Accessing Instance Fields of a Java Class in C/C++
(07:43:28) Accessing Static Fields of a Java Class in C/C++
(08:09:54) Setting Fields of Java Class in C++
(08:36:49) Local Caching of Field IDs in C++
(09:08:13) Global Caching of Field IDs in C++
(09:41:41) Calling Instance Methods of a Java Class in C/C++
(10:18:37) Calling Static Methods of a Java Class in C/C++
(10:52:33) Calling Methods of a Java Interface in C++
(11:21:05) Creating and Returning Java Objects from C++ Code
(11:51:21) Downloading and Installing GNU Scientific Library (GSL)
(12:11:55) A Simple Example of Java/C++ Library Linking
(12:32:12) Working with Boxed Primitives (Wrappers) and List E in C++
(12:59:01) Nonvirtual Call of Methods of a Java Class in C++
(13:28:10) Linking Against Static C++ Libraries

The following sections are in part 2: https://youtu.be/tEtP10aa0Kg
Working with Generic (Parameterized) Methods
Working with Generic (Template) Classes
Working with Java Reflection API (Method & Field) in C++
Working with Java Constants (static final) in C++
Using Fortran Libraries
Generating Header files for Nested Inner Classes
Instantiating Nested Inner Classes in C++
Implementing Native Methods of Inner Classes
Implementing Native Methods of Method-Local Inner Classes
Managing Native Resources with JNI
Resolving Native File Stream Conflicts
Working with Standard Input
Working with Standard Output
The “auto” Keyword in C++
Don’t Locally Cache jclass When Creating New Objects in C++
JNI Development on Windows Operating System
C++ Debug vs. Release Compilation Mode
Working with Maven Build
Distributing C++ Source Code of JNI Project
JNI Development on Linux Operating System
Implementing Native Methods of Anonymous Classes
Regular vs. Critical Access to Primitive Arrays in C++
Regular vs. Critical Access to Java Strings in C++
Creating and Working With an “Unsafe” Class
The Power of “RegisterNatives” Function of JNI
Working with JNI Without Creating Any Header Files
Solving the Refactoring Problem Once and For All
Using JAR files in C++
Understanding javap tool
C++ Classes and Structs in Java
Handling Java Exceptions

Instructor(s)

Java for Engineers
freeCodeCamp
via YouTube
Free
English
13 hr, 55 mins (Part 1)
Self paced
Subtitles: English