0% found this document useful (0 votes)
2 views16 pages

Lecture 1 - Introduction to Java Programming

Java is a general-purpose, object-oriented programming language designed for cross-platform application development, known for its speed, security, and reliability. The document outlines the history, features, and various platforms of Java, including its development kit (JDK), virtual machine (JVM), and runtime environment (JRE). It also highlights the contributions of James Gosling and the evolution of Java from its original name 'OAK' to its current status as a widely used programming language.

Uploaded by

Sunil Mehta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views16 pages

Lecture 1 - Introduction to Java Programming

Java is a general-purpose, object-oriented programming language designed for cross-platform application development, known for its speed, security, and reliability. The document outlines the history, features, and various platforms of Java, including its development kit (JDK), virtual machine (JVM), and runtime environment (JRE). It also highlights the contributions of James Gosling and the evolution of Java from its original name 'OAK' to its current status as a widely used programming language.

Uploaded by

Sunil Mehta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

h a n g e Pro h a n g e Pro

XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

What is Java? Definition, Meaning & Features of Java Platforms

What is Java?
Java is a general-purpose, class-based, object-oriented programming
language designed for having lesser implementation dependencies. It
is a computing platform for application development. Java is fast,
secure, and reliable, therefore. It is widely used for developing Java
applications in laptops, data centers, game consoles, scientific
supercomputers, cell phones, etc.

What is Java Platform?


Java Platform is a collection of programs that help programmers to
develop and run Java programming applications efficiently. It includes
an execution engine, a compiler, and a set of libraries in it. It is a set
of computer software and specifications. James Gosling developed the
Java platform at Sun Microsystems, and the Oracle Corporation later
acquired it.

In this Java tutorial, you will learn-


 What is Java?
 What is Java Platform?
 Java Definition and Meaning
 What is Java used for?
 History of Java Programming Language
 Java Versions
 Java Features
 Components Of Java Programming Language
 Different Types of Java Platforms
 What is a PC?
 What is Assembly Language?
 What are Assembler and Compiler?
 How Java Virtual Machine works?
 How is Java Platform Independent?
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Who is the father of Java?


James Gosling (born May 19, 1955near Calgary, Alberta, Canada),
along with other engineer scientists, was discovered at Sun
Microsystems. He is a famous software developer, best known as the
father of the Java programming language.

Why was the name OAK renamed to Java?


They were unable to register this programming language with Oak
because some other products are already registered with the same
name. So they renamed it to Java.

So, finally, What is Java?


JAVA is an Object-Oriented programming language. It is a cross-
platform and multi-purpose programming language developed by
SUN MICROSYSTEMS in 1991, later acquired by ORACLE Corporation.

JAMES GOSLING and PATRICK NAUGHTON developed it.

It was developed to be a machine-independent web technology. The


goal of Java is to write a program once and then run this program on
multiple operating systems. It helps to create modular programs and
reusable codes. It was based on C and C++ syntax to make it easy for
programmers from those communities to learn. Since then, it has
earned a prominent place in the World of Programming Languages.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Java Definition and Meaning


Java is a multi-platform, object-oriented, and network-centric
language. It is among the most used programming language. Java is
also used as a computing platform.

It is considered as one of the fast, secure, and reliable programming


languages preferred by most organizations to build their projects.

What is Java used for?

Here are some important Java applications:


 It is used for developing Android Apps
 Helps you to create Enterprise Software
 Wide range of Mobile java Applications
 Scientific Computing Applications
 Use for Big Data Analytics
 Java Programming of Hardware devices
 Used for Server-Side Technologies like Apache, JBoss,
GlassFish, etc.

History of Java Programming Language

Here are important landmarks from the history of the Java language:

 The Java language was initially called OAK.


 Originally, it was developed for handling portable devices and
set-top boxes. Oak was a massive failure.
 In 1995, Sun changed the name to “Java” and modified the
language to take advantage of the growing www (World Wide
Web) development business.
 Later, in 2009, Oracle Corporation acquired Sun Microsystems
and took ownership of three key Sun software assets:
Java, MySQL, and Solaris.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Java Versions
Here are a brief history of all the Java versions with its release date.
Java Versions Release Date
JDK Alpha and Beta 1995
JDK 1.0 23rd Jan 1996
JDK 1.1 19th Feb 1997
J2SE 1.2 8th Dec 1998
J2SE 1.3 8th May 2000
J2SE 1.4 6th Feb 2002
J2SE 5.0 30th Sep 2004
Java SE 6 11th Dec 2006
Java SE 7 28th July 2011
Java SE 8 18th Mar 2014
Java SE 9 21st Sep 2017
Java SE 10 20th Mar 2018
JAVA SE 11 25th Sep 2018
JAVA SE 12 19th Mar 2019
JAVA SE 13 17th Sep 2019
JAVA SE 14 17th Mar 2020
JAVA SE 15 15th Sep 2020 (latest Java Version)
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Java Features
Here are some important Java features:

 It is one of the easy-to-use programming languages to learn.


 Write code once and run it on almost any computing
platform.
 Java is platform-independent. Some programs developed in
one machine can be executed in another machine.
 It is designed for building object-oriented applications.
 It is a multithreaded language with automatic memory
management.
 It is created for the distributed environment of the Internet.
 Facilitates distributed computing as its network-centric.

Components Of Java Programming Language

A Java Programmer writes a program in a human-readable language


called Source Code. Therefore, the CPU or Chips never understand the
source code written in any programming language.

These computers or chips understand only one thing, which is called


machine language or code. These machine codes run at the CPU level.
Therefore, it would be different machine codes for other models of
CPU.

However, you need to worry about the machine code, as


programming is all about the source code. The machine understands
this source code and translates them into machine understandable
code, which is an executable code.

All these functionalities happen inside the following 3 Java platform


components:
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Java Development kit (JDK)


JDK is a software development environment used for making applets
and Java applications. The full form of JDK is Java Development Kit.
Java developers can use it on Windows, macOS, Solaris, and Linux. JDK
helps them to code and run Java programs. It is possible to install more
than one JDK version on the same computer.

Why use JDK?


Here are the main reasons for using JDK:
 JDK contains tools required to write Java programs and JRE to
execute them.
 It includes a compiler, Java application launcher,
Appletviewer, etc.
 Compiler converts code written in Java into byte code.
 Java application launcher opens a JRE, loads the necessary
class, and executes its main method.

Java Virtual Machine (JVM):

Java Virtual Machine (JVM) is an engine that provides a runtime


environment to drive the Java Code or applications. It converts Java
bytecode into machine language.
JVM is a part of the Java Run Environment (JRE). In other programming
languages, the compiler produces machine code for a particular
system. However, the Java compiler produces code for a Virtual
Machine known as Java Virtual Machine.

Why JVM?
Here are the important reasons of using JVM:
 JVM provides a platform-independent way of executing Java
source code.
 It has numerous libraries, tools, and frameworks.
 Once you run a Java program, you can run on any platform
and save lots of time.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

 JVM comes with JIT (Just-in-Time) compiler that converts Java


source code into low-level machine language. Hence, it runs
faster than a regular application.

Java Runtime Environment (JRE)


JRE is a piece of software that is designed to run other software. It
contains the class libraries, loader class, and JVM. In simple terms, if
you want to run a Java program, you need JRE.
If you are not a programmer, you don’t need to install JDK, but just JRE
to run Java programs.
JRE is used to run the Java codes.

Why use JRE?


Here are the main reasons of using JRE:
 JRE contains class libraries, JVM, and other supporting files. It
does not include any tool for Java development like a
debugger, compiler, etc.
 It uses important package classes like math, swing, util, lang,
awt, and runtime libraries.
 If you have to run Java applets, then JRE must be installed in
your system.

Different Types of Java Platforms


There are four different types of Java programing language platforms:

1. Java Platform, Standard Edition (Java SE): Java SE’s API offers the
Java programming language’s core functionality. It defines all the basis
of type and object to high-level classes. It is used for networking,
security, database access, graphical user interface (GUI) development,
and XML parsing.

2. Java Platform, Enterprise Edition (Java EE): The Java EE platform


offers an API and runtime environment for developing and running
highly scalable, large-scale, multi-tiered, reliable, and secure network
applications.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

3. Java Programming Language Platform, Micro Edition (Java


ME): The Java ME platform offers an API and a small-footprint virtual
machine running Java programming language applications on small
devices, like mobile phones.

4. Java FX: JavaFX is a platform for developing rich internet


applications using a lightweight user-interface API. It user hardware-
accelerated graphics and media engines that help Java take advantage
of higher-performance clients and a modern look-and-feel and high-
level APIs for connecting to networked data sources.

Programming Language :

To understand Java programming language, we need to understand


some basic concept of how a computer program can run a command
and execute the action.

What is a PC?
A computer is an electronic device capable of performing
computations. We all know that it is composed of a monitor,
keyboard, mouse, and memory to store information. But the most
important component of the computer is a PROCESSOR. This does all
thinking of computer, but the question is how the computer does this
thinking? How does it understand the text, images, videos, etc.?
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

What is PC?
What is Assembly Language?
The computer is an electronic device, and it can only understand
electronic signals or binary signals. For example, the 5-volt electronic
signal may represent binary number 1, while 0 volts may represent
binary number 0. So your PC is continuously bombarded with these
signals.

Eight bits of such signals are grouped together to interpret Text,


numerical, and symbols.

For example, the # symbol is identified by the computer as 10101010.


Similarly, the pattern for adding a function is represented by
10000011.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

This is known as 8-bit computing. Current day processor is capable of


decoding 64-bit time. But what is the relation of this concept with the
programming language JAVA? Let understand these as an example.
Suppose if you want to tell the computer to add two numbers (1+2)
represented by some binary numbers (10000011), how are you going
to tell this to your computer? Yes, we are going to use assembly
language to get our code executed.

“Assembly Language is the most elementary form of software


development languages.”

We are going to give the command to a computer in this format, as


shown below. Your code to add two numbers in this language would
be in this order.

 Store number 1 at memory location say A


 Store number 2 at memory location say B
 Add contents of Location A & B
 Store results
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

But how are we going to do this? Back in the 1950s, when computers
were huge and consumed a great deal of power, you would convert
your assembly code into corresponding machine code to 1 and 0’s
using mapping sheets. Later, this code will be punched into the
machine cards and feed to the computer. The computer will read
these codes and execute the program. This would be a long process
then until ASSEMBLER came to help.

What are Assembler and Compiler?

With the advancement in technology, i/o devices were invented. You


could directly type your program into the PC using ASSEMBLER. It
converts it into the corresponding machine code (110001..) and feeds
it to your processor. Coming back to our example addition of (1+2),
the assembler will convert this code into machine code and output.

That apart, you will also have to make calls to create Operating System
provided functions to display the code’s output.

But alone the assembler is not involved in this process; it also requires
the compiler to compile the long code into a small chunk of codes.
With the advancement in software development languages, this
entire assembly code could shrink into just one line printf 1+2 A with
the software called COMPILER.
It is used to convert your c language code into assembly code. The
assembler converts it into corresponding machine code. This machine
code will be transmitted to the processor.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

The most common processor used in PC or Computers are the Intel


processor.

Though present-day compilers come bundled with assembler can


directly convert your higher language code into machine code.

Now, suppose the Windows operating system runs on this Intel


processor, a combination of Operating System plus the processor is
called the PLATFORM.
The most common platform in the world is Windows, and Intel is
called the Wintel Platform. The other popular platforms are AMD
and Linux, Power PC, and Mac OS X.

Now, with a change in processor, the assembly instructions will also


change. For example:

 Add instruction in Intel may be called ADDITION for AMD


 OR Math ADD for Power PC

And, with a change in Operating System, OS-level calls’ level and


nature’ will also change.

As a developer, I want my software program to work on all platforms


to maximize my revenues. So I would have to buy separate compilers
that convert my print f command into the native machine code.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

But compilers come expensive, and there is a chance of compatibility


issues. So buying and installing a separate compiler for different OS
and processor is not feasible. So, what can be an alternative solution?
Enter Java language.

How Java Virtual Machine works?

By using Java Virtual Machine, this problem can be solved. But how it
works on different processors and O.S. Let’s understand this process
step by step.

Step 1) The code to display the addition of two numbers is


System.out.println(1+2), and saved as a .java file.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Step 2) Using the java compiler the code is converted into an


intermediate code called the bytecode. The output is a .class file.

Step 3) This code is not understood by any platform, but only a virtual
platform called the Java Virtual Machine.

Step 4) This Virtual Machine resides in the RAM of your operating


system. When the Virtual Machine is fed with this bytecode, it
identifies the platform it is working on and converts the bytecode into
the native machine code.

While working on your PC or browsing the web, whenever you see


either of these icons, be assured the java virtual machine is loaded
into your RAM.
But what makes Java lucrative is that code, once compiled, can run not
only on all PC platforms but also on mobiles or other electronic
gadgets supporting Java.

Hence,
“Java is a programming language as well as a Platform”

What is the difference between byte code and machine code


in Java?

What is Byte Code?


h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

Java programs compiled code is called byte code. The Java compiler
(javac) generates a byte code (intermediate code) when the Java code
is compiled.

1. Byte code is an intermediate language (IL) code.


2. Byte code is a virtual machine code.
3. Byte code is a platform-independent code.
4. Byte code is the collection of mnemonics (MOVE, LOAD, ADD
ETC); these byte codes are only understood by JVM.
5. Every byte code occupies 1 byte.

How is Java Platform Independent?

Like the C compiler, the Java compiler does not produce native
executable code for a particular machine. Instead, Java produces a
unique format called bytecode. It executes according to the rules laid
out in the virtual machine specification. Therefore, Java is a platform-
independent language.

Bytecode is understandable to any JVM installed on any OS. In short,


the java source code can run on all operating systems.

Summary:
 Java is a multi-platform, object-oriented, and network-centric
programming language Java is a general-purpose, class-
based, object-oriented programming language.
 Java Platform is a collection of programs that help
programmers to develop and run Java applications
efficiently.
 Meaning of Java: Java is a multi-platform and network-centric
programming language.
 It is mainly used for developing Android Apps and Enterprise
Software.
h a n g e Pro h a n g e Pro
XC d XC d
F- F-

uc

uc
PD

PD
!

!
W

W
t

t
O

O
N

N
y

y
bu

bu
to

to
ww

ww
om

om
k

k
lic

lic
C

C
.c

.c
w

w
tr re tr re
.

.
ac ac
k e r- s o ft w a k e r- s o ft w a

 2009, Oracle Corporation acquired Sun Microsystems and


took ownership of three key Sun software assets: Java,
Solaris, and MySQL.
 The latest version of Java released on September 15th, 2020
 The best feature of the Java is that it is one of the easiest
programming languages to learn.
 Four types of Java Programming language platforms are: 1)
Java Platform, Standard Edition (Java SE) 2) Java Platform,
Enterprise Edition (Java EE) 3) Java Platform, Micro Edition
(Java ME) 4) JavaFX
 A computer is an electronic device capable of performing
computations.
 The computer only understands electronic signals or binary
signals.
 Assembler is an advanced technology that converts source
core to corresponding machine code (110001..) and feeds to
your processor.

You might also like