SlideShare a Scribd company logo
Java
Background
Features
Platform Independence
History
 "Java, whose original name was Oak, was developed as a part of
the Green project at Sun. It was started in December '90 by Patrick
Naughton, Mike Sheridan and James Gosling and was chartered to
spend time trying to figure out what would be the "next wave" of
computing and how we might catch it. They came to the conclusion
that at least one of the waves was going to be the convergence of
digitally controlled consumer devices and computers. "
 Applets and Applications
 "The team returned to work up a Java technology-based clone of
Mosaic they named "WebRunner" (after the movie Blade Runner),
later to become officially known as the HotJavaTM browser. It was
1994. WebRunner was just a demo, but an impressive one: It
brought to life, for the first time, animated, moving objects and
dynamic executable content inside a Web browser. That had never
been done. [At the TED conference.]"
What is Java
 Java - The new programming language from Sun Microsystems
 Java -Allows anyone to publish a web page with Java code in it
 Java - CPU Independent language
 Created for consumer electronics
 Java - James , Arthur Van , and others
What is Java
It is an object-oriented language developed by Sun in the mid 1990s.
Original language called Oak
Intended for embedded systems
• Unlike C++, it was developed from scratch.
The syntax is very similar to C.
Sun describes it as
"A simple, object-oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high-performance, multi-threaded
and dynamic language."
Object-Oriented
Designed to support Object-Oriented concepts
Distributed
Applications are constructed using objects. Objects can be
distributed in multiple locations within a network
environment.
Extensive integration with TCP/IP
Interpreted
Java compiles to byte-code (not machine code). Byte code
is interpreted.
Most Java versions after 1.2 include a JIT (Just-In-Time)
compiler which compiles byte code to machine code.
Robust
Memory management is done automatically
Use of pointers is limited
Secure
All Java code subject to security model.
Architecture-Neutral/Portable
Compiled Java (byte code) will run on any platform which
has a Java Virtual Machine
The Java Virtual Machine is available for almost all
platforms...
Even mainframes.
High-Performance
Originally, Java's performance was poor.
Now, Java's performance rivals C++.
Multi-Threaded
Processes contain multiple threads of execution.
Similar to multi-tasking but all threads share the same
memory space.
Dynamic
Makes heavy use of dynamic memory allocation.
Classes can be dynamically loaded at any time.
For World Java is :
 Snazzy Web pages
 The cross-platform language we want
 The C++ replacement we need
 The C++ replacement we dont need
 A bunch of hype
For SUN Java is:
 Simple and Powerful
 Object Oriented
 Portable
 Architecture Neutral
 Distributed
 Multi-threaded
 Robust, Secure/Safe
 Interpreted
 High Performance
 Dynamic pogramming language/platform.
For Us Java is :
 Simple
 Pure
 Portable
 Surprisingly effective
 Need of Today!!!!
Platform Independence
Platform ?
Independence????????
Java has been described as WORA (Write once, Run Anywhere)
In most cases, this is true.
Not always true with GUI.
Doesn't always come for free. Can require a lot of testing.
Platform Independence….
Traditional view :
Source.cpp
i386 binary
SPARC binary
PPC binary
Windows
Compiler
Solaris
Compiler
Mac
Compiler
JVM(Java Virtual Machine)
Java source files (.java) are compiled to Java bytecode (.class)
Bytecode is interpreted on the target platform within a Java Virtual
Machine
Source.java
i386 VM
SPARC VM
PPC VM
Java
Compiler
Java
Bytecode
Source.class
Why Virtual
JVM
 JVM is sometimes referred to as interpreter which takes the
byte code from Java Compiler (.Class) and generates the
object code for the target machine.
 The output of Java Compiler is not for a particular existing
machine, it is generated for JVM which is actually not a
machine therefore it is called Virtual Machine though it is a
translator/interpreter which converts one code (byte code) to
another code(machine code)
Independence
Because Java source code is compiled to byte code and the
byte code is interpreted, Java code can be executed anywhere
an interpreter is available.
The "Interpreter" is call the Java Virtual Machine
Java Class1
JVM
The Java VM does more than interpret bytecode:
The class loader loads appropriate java classes. Possibly
from the network.
All classes are verified to contain only legal bytecodes and
not permitted any illegal stack or register usage.
A SecurityManager can limit access to resources such as the
local file system or the network.
Any unreferenced memory (Objects) are returned to the
system by the Garbage Collector thread.
• Many database servers, application servers, web servers and
browsers contain a Java virtual machine
• eg: Oracle, Tomcat (web server), WebSphere (app server),
BEA Weblogic (app server), and Netscape and IE.
Java Integrates
Power of Compiled Languages
and
Flexibility of Interpreted
Languages

More Related Content

What's hot (19)

PPTX
Jvm Architecture
ThirupathiReddy Vajjala
 
PPT
Java-java virtual machine
Surbhi Panhalkar
 
PPTX
JAVA ENVIRONMENT
josemachoco
 
PPTX
Java architecture
Rakesh
 
PPTX
Java virtual machine
Nikhil Sharma
 
PPT
JVM- Java Virtual Machine
Manasvi Mehta
 
PPT
CS Lesson: Introduction to the Java virtual Machine
Katrin Becker
 
PPTX
Architecture diagram of jvm
home
 
PPTX
JRE , JDK and platform independent nature of JAVA
Mehak Tawakley
 
PPTX
Java JVM
KadarkaraiSelvam
 
PPTX
The Java Story
David Parsons
 
PPTX
History of java'
deepthisujithra
 
PPTX
Java introduction
NAVEENA ESWARAN
 
PPT
Java Virtual Machine
Taha Malampatti
 
PDF
What is-java
Shahid Rasheed
 
PDF
Java introduction
Kuppusamy P
 
PPTX
Maven and versioning
KadarkaraiSelvam
 
PDF
Learn Java Part 1
Gurpreet singh
 
Jvm Architecture
ThirupathiReddy Vajjala
 
Java-java virtual machine
Surbhi Panhalkar
 
JAVA ENVIRONMENT
josemachoco
 
Java architecture
Rakesh
 
Java virtual machine
Nikhil Sharma
 
JVM- Java Virtual Machine
Manasvi Mehta
 
CS Lesson: Introduction to the Java virtual Machine
Katrin Becker
 
Architecture diagram of jvm
home
 
JRE , JDK and platform independent nature of JAVA
Mehak Tawakley
 
The Java Story
David Parsons
 
History of java'
deepthisujithra
 
Java introduction
NAVEENA ESWARAN
 
Java Virtual Machine
Taha Malampatti
 
What is-java
Shahid Rasheed
 
Java introduction
Kuppusamy P
 
Maven and versioning
KadarkaraiSelvam
 
Learn Java Part 1
Gurpreet singh
 

Similar to Java Class1 (20)

PDF
JAVA for Every one
Satyam Pandey
 
PPT
PPS Java Overview Unit I.ppt
CDSukte
 
PPT
PPS Java Overview Unit I.ppt
RajeshSukte1
 
PPT
J2ee strutswithhibernate-140121221332-phpapp01
Jay Palit
 
PDF
Inside JVM
Chinh Ngo Nguyen
 
PPSX
Dr. Rajeshree Khande :Intoduction to java
DrRajeshreeKhande
 
PPSX
Intoduction to java
jalinder123
 
PPT
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
PPT
Object Oriented Programming-JAVA
Home
 
PPTX
Java 2 computer science.pptx
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
PPTX
Lecture java variable , data type, token
ChandrashekharSingh859453
 
PDF
JAVA AND ANDROID OS_PRESENTATION
Benjamin Agboola
 
PDF
Java programming Evolution-OverviewOfJava.pdf
AbhishekSingh961152
 
PPTX
UNIT 1.pptx
EduclentMegasoftel
 
PPTX
Java Lecture 1
Qualys
 
PPTX
Java byte code presentation
Mahnoor Hashmi
 
PDF
Javanotes ww8
kumar467
 
PPT
Introduction to Java Programming, Basic Structure, variables Data type, input...
Mr. Akaash
 
PPTX
Java byte code & virtual machine
Laxman Puri
 
JAVA for Every one
Satyam Pandey
 
PPS Java Overview Unit I.ppt
CDSukte
 
PPS Java Overview Unit I.ppt
RajeshSukte1
 
J2ee strutswithhibernate-140121221332-phpapp01
Jay Palit
 
Inside JVM
Chinh Ngo Nguyen
 
Dr. Rajeshree Khande :Intoduction to java
DrRajeshreeKhande
 
Intoduction to java
jalinder123
 
Java & J2EE Struts with Hibernate Framework
Mohit Belwal
 
Object Oriented Programming-JAVA
Home
 
Java 2 computer science.pptx
MUHAMMED MASHAHIL PUKKUNNUMMAL
 
Lecture java variable , data type, token
ChandrashekharSingh859453
 
JAVA AND ANDROID OS_PRESENTATION
Benjamin Agboola
 
Java programming Evolution-OverviewOfJava.pdf
AbhishekSingh961152
 
UNIT 1.pptx
EduclentMegasoftel
 
Java Lecture 1
Qualys
 
Java byte code presentation
Mahnoor Hashmi
 
Javanotes ww8
kumar467
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Mr. Akaash
 
Java byte code & virtual machine
Laxman Puri
 
Ad

More from Mayank Aggarwal (6)

PPTX
Java Datatypes
Mayank Aggarwal
 
PPTX
Java Classes
Mayank Aggarwal
 
PPTX
Cloudsim modified
Mayank Aggarwal
 
PPTX
Virtualization: Force driving cloud computing
Mayank Aggarwal
 
PPTX
Cloud Computing : Revised Presentation
Mayank Aggarwal
 
PPTX
Cloud Computing Made Easy
Mayank Aggarwal
 
Java Datatypes
Mayank Aggarwal
 
Java Classes
Mayank Aggarwal
 
Cloudsim modified
Mayank Aggarwal
 
Virtualization: Force driving cloud computing
Mayank Aggarwal
 
Cloud Computing : Revised Presentation
Mayank Aggarwal
 
Cloud Computing Made Easy
Mayank Aggarwal
 
Ad

Recently uploaded (20)

PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 

Java Class1

  • 2. History  "Java, whose original name was Oak, was developed as a part of the Green project at Sun. It was started in December '90 by Patrick Naughton, Mike Sheridan and James Gosling and was chartered to spend time trying to figure out what would be the "next wave" of computing and how we might catch it. They came to the conclusion that at least one of the waves was going to be the convergence of digitally controlled consumer devices and computers. "  Applets and Applications  "The team returned to work up a Java technology-based clone of Mosaic they named "WebRunner" (after the movie Blade Runner), later to become officially known as the HotJavaTM browser. It was 1994. WebRunner was just a demo, but an impressive one: It brought to life, for the first time, animated, moving objects and dynamic executable content inside a Web browser. That had never been done. [At the TED conference.]"
  • 3. What is Java  Java - The new programming language from Sun Microsystems  Java -Allows anyone to publish a web page with Java code in it  Java - CPU Independent language  Created for consumer electronics  Java - James , Arthur Van , and others
  • 4. What is Java It is an object-oriented language developed by Sun in the mid 1990s. Original language called Oak Intended for embedded systems • Unlike C++, it was developed from scratch. The syntax is very similar to C. Sun describes it as "A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multi-threaded and dynamic language."
  • 5. Object-Oriented Designed to support Object-Oriented concepts Distributed Applications are constructed using objects. Objects can be distributed in multiple locations within a network environment. Extensive integration with TCP/IP Interpreted Java compiles to byte-code (not machine code). Byte code is interpreted. Most Java versions after 1.2 include a JIT (Just-In-Time) compiler which compiles byte code to machine code.
  • 6. Robust Memory management is done automatically Use of pointers is limited Secure All Java code subject to security model. Architecture-Neutral/Portable Compiled Java (byte code) will run on any platform which has a Java Virtual Machine The Java Virtual Machine is available for almost all platforms... Even mainframes.
  • 7. High-Performance Originally, Java's performance was poor. Now, Java's performance rivals C++. Multi-Threaded Processes contain multiple threads of execution. Similar to multi-tasking but all threads share the same memory space. Dynamic Makes heavy use of dynamic memory allocation. Classes can be dynamically loaded at any time.
  • 8. For World Java is :  Snazzy Web pages  The cross-platform language we want  The C++ replacement we need  The C++ replacement we dont need  A bunch of hype
  • 9. For SUN Java is:  Simple and Powerful  Object Oriented  Portable  Architecture Neutral  Distributed  Multi-threaded  Robust, Secure/Safe  Interpreted  High Performance  Dynamic pogramming language/platform.
  • 10. For Us Java is :  Simple  Pure  Portable  Surprisingly effective  Need of Today!!!!
  • 11. Platform Independence Platform ? Independence???????? Java has been described as WORA (Write once, Run Anywhere) In most cases, this is true. Not always true with GUI. Doesn't always come for free. Can require a lot of testing.
  • 12. Platform Independence…. Traditional view : Source.cpp i386 binary SPARC binary PPC binary Windows Compiler Solaris Compiler Mac Compiler
  • 13. JVM(Java Virtual Machine) Java source files (.java) are compiled to Java bytecode (.class) Bytecode is interpreted on the target platform within a Java Virtual Machine Source.java i386 VM SPARC VM PPC VM Java Compiler Java Bytecode Source.class
  • 15. JVM  JVM is sometimes referred to as interpreter which takes the byte code from Java Compiler (.Class) and generates the object code for the target machine.  The output of Java Compiler is not for a particular existing machine, it is generated for JVM which is actually not a machine therefore it is called Virtual Machine though it is a translator/interpreter which converts one code (byte code) to another code(machine code)
  • 16. Independence Because Java source code is compiled to byte code and the byte code is interpreted, Java code can be executed anywhere an interpreter is available. The "Interpreter" is call the Java Virtual Machine
  • 18. JVM The Java VM does more than interpret bytecode: The class loader loads appropriate java classes. Possibly from the network. All classes are verified to contain only legal bytecodes and not permitted any illegal stack or register usage. A SecurityManager can limit access to resources such as the local file system or the network. Any unreferenced memory (Objects) are returned to the system by the Garbage Collector thread. • Many database servers, application servers, web servers and browsers contain a Java virtual machine • eg: Oracle, Tomcat (web server), WebSphere (app server), BEA Weblogic (app server), and Netscape and IE.
  • 19. Java Integrates Power of Compiled Languages and Flexibility of Interpreted Languages