Review Java 9 Concepts at Jet Speed.
- Platform Independent or Portable
- Object Oriented Language
- Security
- Rich API
- Great IDE's
- Omnipresent
- Web Applications (JSP, Servlets, Spring, Struts..)
- Mobile Apps(Android)
- Microservices (Spring Boot)
graph TD
A[Java Code] -->|Compiled| B(Bytecode)
B --> C{Run}
C -->|bytecode| D[Windows JVM]
D --> K[Windows Instructions]
C -->|bytecode| E[Unix JVM]
E --> L[Unix Instructions]
C -->|bytecode| F[Linux JVM]
F --> M[Linux Instructions]
C -->|bytecode| G[Any other platform JVM]
G --> N[Linux Instructions]
- JVM (Java Virtual Machine)
- runs the Java bytecode.
- JRE
- JVM + Libraries + Other Components (to run applets and other java applications)
- JDK • JRE + Compilers + Debuggers
- Find and Loads Java Classes!
Three Types
- System Class Loader - Loads all application classes from CLASSPATH
- Extension Class Loader - Loads all classes from extension directory
- Bootstrap Class Loader - Loads all the Java core files
JVM needs to find a class, it starts with System Class Loader. If it is not found, it checks with Extension Class Loader. If it not found, it goes to the Bootstrap Class Loader. If a class is still not found, a ClassNotFoundException is thrown.
