Java was created by Sun Microsystems in 1991 and is now owned by Oracle. It is one of the most popular programming languages due to its platform independence, allowing code to run on Windows, Linux, and other operating systems. Java applications are compiled to bytecode that can be run on any system with a Java Virtual Machine. This "write once, run anywhere" ability makes Java widely used for both web and mobile applications.
2. Author: wjchay88@yahoo.com
Objectives
and
Prerequisite
2
• To understand history of Java in brief.
• To understand the benefits of using Java.
• To understand the architecture behind
Java.
• To understand how Java source codes
are compiled and executed in brief.
Objectives:
• None
Prerequisites:
3. Author: wjchay88@yahoo.com
Introduction
Java was created by Sun
Microsystems Inc in 1991, later
acquired by Oracle Corporation.
Java was originally developed by
James Gosling and Patrick
Naughton.
There are more than 3 billion (and
counting) devices running Java.
4. Author: wjchay88@yahoo.com
Why Java
• Java works on different platforms (Windows, Mac,
Linux, Raspberry Pi, Android, etc.)
• This means your codes can be deployed and
run on many platforms (platform independent)
• The official language for Android is Java
• It is one of the most popular programming
languages in the world
• It is easy to learn and simple to use
• It makes you think like a programmer
• It is open-source and free
• It is secure, fast and powerful
• It has a huge community support (tens of millions of
developers)
• This means not just Java development support,
but there are thousands of third-party open
source products that can be freely used for
your Java projects
5. Author: wjchay88@yahoo.com
Why Java is for
you?
• 10 Most in demand Programming
Languages (based on job postings):
• https://www.techrepublic.com/arti
cle/the-10-most-in-demand-
programming-languages-of-2018/
• No 1: Java – 30% job postings
• No 2: Javascript – 26% job postings
• 8 Most in demand programming
languages 2018 (based on GitHub
usage)
• https://technostacks.com/blog/top
-programming-languages
• No 1: Python
• No 2: Java
5
7. Author: wjchay88@yahoo.com
Java Terminology
• Java Virtual Machine (JVM)
• The code execution component
• Translates bytecode into native machine code which
machines can execute
• Java Runtime Environment (JRE)
• Includes the JVM implementation
• Also bundles standard libraries (jars) and files that the JVM
uses at runtime
• Java Development Kit (JDK)
• The software development environment used to develop
Java applications
• Includes JRE and development tools
• 3 types of JDKs distributed by Oracle
• Standard Edition (JSE) Java Platform
• Enterprise Edition (JEE) Java Platform
• Micro Edition (JME) Java Platform
JDK
Appletviewer, apt, extcheck, javadoc,
jar, javac, javaws, keytool, jarsigner,
policytool, xjc, etc.
Development Tools
JRE
Memory model, garbage
collector, execution engine, etc.
DLL files, Code libraries,
extension files, security files,
applets support classes, TT Font
files, etc.
JVM
Libraries
8. Author: wjchay88@yahoo.com
Write Once Run Everywhere
Compiler
(javac)
Source code: *.java
Byte code
(.class)
JVM/Interpreter
for Windows
JVM/Interpreter
for Mac
JVM/Interpreter
for Linux
Distribution flow:
1. The same source code is
compiled to byte code files
(.class) ïƒ Write Once.
2. Byte code files are distributed to
various platforms (OS).
3. Each OS will have its own specific
JVM and interpreter to convert
byte codes to machine codes
when executed. ïƒ Run
Everywhere.