Platform independent language supporting oop
Advantages
- Portability (WORA)[Write Once Run Anywhere]
Java Virtual Machine, abstract machine, doesn't exist physically. It's platform dependent. JVM has JIT(Just In Time) compiler, it will take byte code and generate the machine code.
ByteCode -> .class extension
It has JVM and class libraries
JRE
|_____________________|
| class Libraries |
| |______________| |
| | JVM | |
| |______________| |
|_____________________|
- programming languages
- compiler (javac) -> .class
- debugger
JDK = JRE + PL + Compiler + Debugger
All three JVM JDK and JRE are platform dependent
JEE (Java/Jakarta Enterprise Edition) -> JSE + APIs like Transactional API, rollback, commit, servelets, JSP used in ecommerce, etc.
- filename = classname
- 1 file can have only one public class