LAKIREDDY BALI REDDY COLLEGE OF
ENGINEERING
Object Oriented Programming
By
S.V.V.D.Jagadeesh
Sr. Assistant Professor
Dept of Artificial Intelligence & Data Science
LBRCE
Previous Discussion
Course Objectives
Course Outcomes
Course Contents
Text Books
Unit-I Outcomes
Programming Paradigms
Procedural, Object-Oriented Paradigms
Procedural Vs Object Oriented Paradigms
Principles of OOP
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Session Outcomes
At the end of this session, Student will be able to:
CO1: Explain History and Characteristics of Java. (Understand- L2)
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
History of Java
James Gosling, Mike Sheridan, and Patrick Naughton initiated the
Java language project in June 1991. The small team of sun engineers
called Green Team.
Originally designed for small, embedded systems in electronic
appliances like set-top boxes.
Firstly, it was called "Greentalk" by James Gosling and file extension
was .gt.
After that, it was called Oak and was developed as a part of the
Green project.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
History of Java
Java is an island of Indonesia where first coffee was produced (called
java coffee).
Notice that Java is just a name not an acronym.
Originally developed by James Gosling at Sun Microsystems (which is
now a subsidiary of Oracle Corporation) and released in 1995.
In 1995, Time magazine called Java one of the Ten Best Products of
1995.
JDK 1.0 released in(January 23, 1996).
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
JDK, JRE and JVM
JDK- It contains JRE + development tools.
JRE- It is the implementation of JVM.
JVM- It is an abstract machine which provides the runtime
environment in which java bytecode can be executed. It is a
specification.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Java Compilation
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Java Compilation
Java program is first compiled to get an intermediate code called the
bytecode (also called as class file).
Then the JVM interprets the bytecode to convert into machine level
instructions for successful execution of code.
For every OS a specific JVM is defined to perform interpretation thus
making java platform independent.
Once you have the bytecode you can interpret it anywhere and at
anytime thus making it portable.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Features (Buzzwords) of Java
Simple
Object-Oriented
Platform independent
Secured
Robust
Architecture-Neutral
Portable
Dynamic
Interpreted
High Performance
Multithreaded
Distributed
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Simple
Java syntax is based on C++ and it is easy.
Removed many confusing and/or rarely –used features e.g., pointers,
operator overloading etc., .
No need to remove unreferenced objects because there is
Automatic Garbage Collection in java.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Object Oriented
Object –oriented means we organize our software as a combination
of different types of objects that incorporates both data and
behavior.
Object oriented programming is a methodology that simplifies
software development and maintenance by providing some rule.
Basic concept of oops are
1.Object, 2.Class, 3.Inheritance, 4.Polymorphism, 5.Abstraction,
6.Encapsulation and 7.Data Binding.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Platform Independent
Java code can be run on multiple platform e.g. Windows, Linux etc.
Java code is compiled by the compiler and converted into byte code.
This byte code is a platform independent code, it can run on multiple
platforms.
“Write Once and Run Anywhere”(WORA).
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Secured
You are taking a risk, downloading code might contain a virus.
Java enables applets to be downloaded and executed on the client
computer safely.
Java achieved this protection by confining an applet to the Java
execution environment and not allowing it access to other parts of
the computer.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Robust
Robust means strong.
Java uses strong memory management.
Lack of pointers avoids security problem.
Automatic garbage collection in java.
Exceptional handling and type checking mechanism in java. The
above all these makes java robust
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Architecture- Neural
Java is Architecture-Neutral it generates byte code that resembles
machine code , and are not specific to any processor.
“write once; run anywhere, any time, forever.”
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Portable
We may carry the java byte code to any platform i.e., code run in
different platform has a same result.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Dynamic
Java programs carry run-time type information that is used to verify
and resolve accesses to objects at run time.
Small fragments of byte code may be dynamically updated on a
running system
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Interpreted
You need an interpreter to run Java programs. The programs are
compiled into the Java Virtual Machine code called byte code.
The byte code is machine-independent and can run on any machine
that has a Java interpreter, which is part of the Java Virtual Machine
(JVM).
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
High Performance
Java byte code was carefully designed to translate directly into native
machine code for very high performance by using a just-in-time
compiler.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Multi Threaded
A thread is like a separate program, executing concurrently.
Can write java programs that deal with many tasks at once by
defining multiple threads.
The advantage of Multi-threading is it shares the memory.
Threads are important for multimedia, web applications etc.
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Distributed
We can create distributed application in java.
RMI and EJB are used for creating distributed applications.
We may access files by calling the methods from any machine on the
internet
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024
LBRCE
Summary
History of Java
JDK, JRE and JVM
Java Compilation
Features (Buzzwords) of Java
OOP S.V.V.D.Jagadeesh Friday, July 26, 2024